thinbuilder
v2.3.0
Published
A scripts builder middleware for thinjs
Downloads
19
Maintainers
Readme
thinbuilder
基于 Express 的 THINJS 构建中间件,用来动态打包 THINJS 编写的脚本文件。
如何安装
npm install thinbuilder
如何使用
Express 引用示例
打开 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。
- 支持压缩/混淆功能。