基于 Express 的 THINJS 构建中间件,用来动态打包 THINJS 编写的脚本文件。
npm install thinbuilder
打开 app.js 文件,按照如下方式添加代码引用:
......
const thinbuilder = require("thinbuilder");
......
app.use(express.static(path.join(__dirname, "public")));
app.use(thinbuilder());
......
我们提供了两种方式调整 thinbuilder
编译属性:参数配置和文件配置,其中文件配置优先级最高。
-
参数配置
app.js 中添加如下配置参数:
app.use(thinbuilder({alias:"thinbuilder",debug:true [,...params]}));
-
文件配置(推荐)
项目根目录下创建
thin.config.json
文件,配置示例如下:{ "alias": "thinbuilder", "priority": [{ "path": "test", "files": ["y.js", "subfolder/s.js"] }], "mode": "folder", "debug": true, "minify": true, "cachetime": 600 }
-
配置参数说明
-
alias
:定义 thinjs 根目录名称,用来存放 thinjs 脚本文件,默认值为 thinbuilder。注意:文件夹必须放置在项目根目录,早期含有 jsbuilder 文件夹的项目可以省略该参数。
{ "alias": "thinbuilder" }
-
minify
:启用脚本混淆/压缩开关,未配置时将会根据环境变量设定初始值(production 为 true,其他为 false)。{ "minify": true }
-
terserOpts
:混淆/压缩选项配置,仅当minify
为 true 时有效,默认配置为:{ "format": { "comments": false }, "compress": { "drop_console": ["log", "info"], "drop_debugger": true, "sequences": false }, "mangle": true }
-
cachetime
:设置客户端缓存时间(秒),默认不缓存。{ "cachetime": 600 }
-
debug
:调试日志开关,开启后控制台打印编译过程日志信息,未配置时将会根据环境变量设定初始值(production 为 false,其他为 true)。{ "debug": true }
-
mode
:扫描模式,用来告诉编译器优先解析打包对象(folder|file),默认为 folder。{ "mode": "folder" }
-
priority
:设置 thinjs 文件构建顺序(数组格式),默认构建顺序为文件名排序,该属性可以灵活调整 thinjs 文件构建顺序。-
path
属性设置需要调整的文件夹路径 -
files
属性设置需要优先构建的文件路径,支持子目录文件。
注意:不建议“/”开头、字母大小写敏感。
{ "priority": [ { "path": "test", "files": ["file2.js", "subfolder/file1.js"] } ] }
-
-
- 我们推荐在项目根目录下使用 thinbuilder 作为 thinjs 根文件夹,当然早期的 jsbuilder 文件夹一样兼容。
- Node Version >= 15.0.0。
- 支持压缩/混淆功能。