2.3.0 • Published 1 month ago

thinbuilder v2.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

thinbuilder

基于 Express 的 THINJS 构建中间件,用来动态打包 THINJS 编写的脚本文件。

npm version

如何安装

npm install thinbuilder

如何使用

Express 引用示例

打开 app.js 文件,按照如下方式添加代码引用:

......
const thinbuilder = require("thinbuilder");
......
app.use(express.static(path.join(__dirname, "public")));
app.use(thinbuilder());
......

自定义配置

我们提供了两种方式调整 thinbuilder 编译属性:参数配置和文件配置,其中文件配置优先级最高。

  1. 参数配置

    app.js 中添加如下配置参数:

    app.use(thinbuilder({alias:"thinbuilder",debug:true [,...params]}));
  2. 文件配置(推荐)

    项目根目录下创建 thin.config.json文件,配置示例如下:

    {
    	"alias": "thinbuilder",
    	"priority": [{ "path": "test", "files": ["y.js", "subfolder/s.js"] }],
    	"mode": "folder",
    	"debug": true,
    	"minify": true,
    	"cachetime": 600
    }
  3. 配置参数说明

    • 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 文件构建顺序。

      1. path属性设置需要调整的文件夹路径
      2. files属性设置需要优先构建的文件路径,支持子目录文件。

      注意:不建议“/”开头、字母大小写敏感。

      {
      	"priority": [
      		{
      			"path": "test",
      			"files": ["file2.js", "subfolder/file1.js"]
      		}
      	]
      }

其他说明

  1. 我们推荐在项目根目录下使用 thinbuilder 作为 thinjs 根文件夹,当然早期的 jsbuilder 文件夹一样兼容。
  2. Node Version >= 15.0.0。
  3. 支持压缩/混淆功能。
2.3.0

1 month ago

2.2.1

1 month ago

2.1.9

1 year ago

2.1.18

1 year ago

2.1.16

1 year ago

2.1.12

1 year ago

2.1.6

1 year ago

2.1.24

1 year ago

2.1.10

1 year ago

2.1.8

1 year ago

2.1.22

1 year ago

2.1.7

1 year ago

2.1.20

1 year ago

2.1.2

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

1.9.0

2 years ago

1.8.0

2 years ago

1.5.0

2 years ago

1.2.0

2 years ago

1.0.0

2 years ago