Skip to content

Latest commit

 

History

History
171 lines (132 loc) · 6.61 KB

README.zh-CN.md

File metadata and controls

171 lines (132 loc) · 6.61 KB

license CI

English | 简体中文

一款 javascript 模板引擎,简单,好用,支持 webpack, rspack, vite, esbuild, rollup, parcel, browserify, fis 和 gulp。

特性

  • JS 原生语法,模版解析,编译,渲染
  • 支持所有浏览器及 Node,支持 TypeScript
  • 预编译支持主流打包工具
  • 自定义配置、修饰符、函数
  • 支持数据过滤
  • 异常捕获功能
  • 子模版
  • 沙箱模式
  • 支持 JIT 和 AOT 两种编译模式
  • 提供 cli 集成化工具
  • 提供编辑器插件支持

使用者指南

template.js 是比拼接字符串更好的方式,点击使用codesandbox快速体验效果。

模板例子

<ul>
    <%for(var i = 0; i < list.length; i++) {%>
        <li><%:=list[i].name%></li>
    <%}%>
</ul>

数据例子

const data = {
  list: [{ name: 'yan' }, { name: 'haijing' }],
};

渲染输出

<ul>
  <li>yan</li>
  <li>haijing</li>
</ul>

template.js 支持的编辑器插件

编辑器 插件
Vscode 高亮插件
Sublime 高亮插件
Atom 高亮插件
WebStorm TODO

通过 cli 工具快速初始化项目

$ npx @templatejs/cli new myapp
# 选择对应的平台
# ❯ webpack
#   rspack
#   vite
#   rollup
#   esbuild
#   parcel2
#   parcel1
#   fis3
#   browserify
#   gulp
#   browser

如果已有项目,可以选择对应的插件,template.js 支持多种使用方式

平台 插件
webpack / rspack template-loader
vite / rollup rollup-plugin-templatejs
esbuild esbuild-plugin-templatejs
parcel2 parcel-transformer-template
parcel1 parcel-plugin-template
fis fis-parser-template
browserify browserify-templatejs
gulp gulp-templatejs
原生 web 与 Node.js template_js
不支持的平台 可以自己写一个插件,请查看 @templatejs/precompiler

其他 packages 简介

开发者指南

本项目使用 lerna 来管理多个插件,lerna 常用命令如下,注意这里不能缺省npx前缀:

$ npx lerna init # 初始化
$ npx lerna create @templatejs/parser # 创建一个package
$ npx lerna add yargs --scope=@templatejs/parser # 给package安装依赖
$ npx lerna list # 列出所有的包
$ npx lerna bootstrap # 安装全部依赖
$ npx lerna link # 建立全部软连接
$ npx lerna changed # 列出下次发版lerna publish 要更新的包
$ npx lerna publish # 会打tag,上传git, 上传npm

发布步骤,修改 changelog

$ yarn lint
$ yarn build
$ yarn test
$ npx lerna publish # 正式包

不打 tag 发包,适合测试包

$ yarn lint
$ yarn build
$ yarn test
$ lerna version --no-git-tag-version # 修改版本号,不打tag
$ npx lerna publish from-package --dist-tag next # 测试包

贡献者列表

contributors

更新日志

CHANGELOG.md

计划列表

TODO.md

谁在使用

想了解都有谁在使用,点击这里

相关链接