巴泽尔的特尔泽规则
特尔泽规则与巴泽尔管理特尔泽JS分解器.
将记录在 https://github.com/terser-js/terser#command-line-usage 页面存档备份,存于互联网档案馆
安装
添加数据 @bazel/terser npm 软件包到您的 devDependencies 内 package.json。 。 。 .
安装用户管理的依赖
如果你没有使用 yarn_install 或者说 npm_install 规则,你得在你的根部宣布一条规则 BUILD.bazel 要执行的 terser 文件 :
# Create a terser rule to use in terser_minified#terser_bin
# attribute when using user-managed dependencies
nodejs_binary(
name = "terser_bin",
entry_point = "//:node_modules/terser/bin/uglifyjs",
# Point bazel to your node_modules to find the entry point
data = ["//:node_modules"],
)
已忽略
用户
terser_minified(name, args, config_file, debug, sourcemap, src, terser_bin)
运行 terser 修改器 .
典型实例:
load("@npm//@bazel/terser:index.bzl", "terser_minified")
terser_minified(
name = "out.min",
src = "input.js",
config_file = "terser_config.json",
)
注意 name 属性决定所产生文件的名称.
所以上面的例子将输出 out.min.js 财务报告和审定财务报表 out.min.js.map (自2006年起) sourcemap 默认为 true) (中文(简体) ).
如果输入是一个目录,则输出也将是一个目录,以 name 属性.
请注意,这一规则是: 没有 递相取取. 它假设一个平平的文件结构. 在有嵌入文件夹的文件夹中传递
将生成一个空输出目录.
捐款
名称
(单位:千美元)名称,强制:这个目标的独有名称.
参数
(单位:千美元)字符串列表: 需要传递到terser的附加命令行参数.
Terser 只解析配置文件中的 minify () 参数, 从而添加参数, 例如 --comments 可能
被传递到使用此属性的规则。 见 https://github.com/terser/terser#命令-行-使用 联 合 国
完整的 terser CLI 选项列表.
默认为 []
配置文件( f)
(单位:千美元)标签: 包含 Terser minify () 选项的 JSON 文件 .
这是您在 terser 的 CLI 中通过的文件 . https://github.com/terser-js/terser#minify-options 互联网档案馆的存檔,存档日期2013-12-22 文档文件的内容.
Bazel将制作一份您的配置文件,将其作为模板处理.
运行 Bazel 与 --subcommands 以查看复制文件的路径.
如果你用魔法线 "bazel_debug" 或者说 "bazel_no_debug",这些将是
替换为 true 财务报告和审定财务报表 false 尊重《公约》的价值 debug 属性
或 --compilation_mode=dbg 巴泽尔旗.
举个例子
{
"compress": {
"arrows": "bazel_no_debug"
}
}
将禁用 arrows 调试时压缩设置 .
若为 config_file 未提供, Bazel 将使用默认配置文件.
默认为 @npm//@bazel/terser:terser_config.default.json
调试
(单位:千美元)布尔: 配置terser以产生更可读输出.
而不是设置此属性, 考虑使用调试汇编模式 bazel 构建 -- ccomption mode=dbg//my/terser:目标 这样它只会影响目前的建筑.
默认为 False
源图
(单位:千美元)布尔: 是否产生.js.map 输出
默认为 True
曲线
(单位:千美元)标签,强制: 要修改的文件 .
可以是.js文件,规则生成.js文件作为其默认输出,也可以是规则生成.js文件目录.
注意您可以将多个文件传递给 terser, 它会捆绑在一起 . 如果你想这样做,可以在这里通过一个文件组.
三进制( b)
(单位:千美元)标签: 运行 Terser 的可执行目标
默认为 @npm//@bazel/terser/bin:terser