# @bazel/terser 中文文档

规范地址：https://npmcn.com/package/%40bazel/terser/

版本：5\.8\.1
npm 元数据更新时间：2023-02-16T23:57:07.323Z
中文译文更新时间：2026-11-07T18:38:17.727Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bazel/terser
原文对照：https://npmcn.com/package/%40bazel/terser/?lang=original
项目主页：https://github.com/bazelbuild/rules_nodejs#readme
源码仓库：https://github.com/bazelbuild/rules_nodejs

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：35.4 kB，9 个文件
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：terser \>=4\.0\.0 \<5\.9\.0
- 首次发布：2019-09-26T23:30:50.793Z
- 最新版本发布：2023-02-16T23:57:07.215Z
- 近 30 天下载量：88729（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：100（近 12 个月 0 个）

## 中文简介

在 Bazel 下运行 Terser JS 优化程序

## 安装

```sh
npm install @bazel/terser
```

也可以使用：`pnpm add @bazel/terser`、`yarn add @bazel/terser`、`bun add @bazel/terser`

## README

# 巴泽尔的特尔泽规则

特尔泽规则与巴泽尔管理特尔泽JS分解器.

将记录在 [https://github.com/terser-js/terser#command-line-usage 页面存档备份,存于互联网档案馆](https://github.com/terser-js/terser#command-line-usage)

## 安装

添加数据 `@bazel/terser` npm 软件包到您的 `devDependencies` 内 `package.json`。 。 。 .

## 安装用户管理的依赖

如果你没有使用 `yarn_install` 或者说 `npm_install` 规则,你得在你的根部宣布一条规则 `BUILD.bazel` 要执行的 terser 文件 :

```python
# 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](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-name), [args](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-args), [config\_file](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-config_file), [debug](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-debug), [sourcemap](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-sourcemap), [src](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-src), [terser\_bin](https://npmcn.com/package/%40bazel/terser/#readme-terser_minified-terser_bin))

运行 terser 修改器 .

典型实例:

```python
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` 属性. 请注意,这一规则是: **没有** 递相取取. 它假设一个平平的文件结构. 在有嵌入文件夹的文件夹中传递 将生成一个空输出目录.

**捐款**

#### 名称

(单位:千美元)_[名称](https://bazel.build/docs/build-ref.html#name),强制_:这个目标的独有名称.

#### 参数

(单位:千美元)_字符串列表_: 需要传递到terser的附加命令行参数.

Terser 只解析配置文件中的 minify () 参数, 从而添加参数, 例如 `--comments` 可能 被传递到使用此属性的规则。 见 [https://github.com/terser/terser#命令-行-使用](https://github.com/terser/terser#command-line-usage) 联 合 国 完整的 terser CLI 选项列表.

默认为 `[]`

#### 配置文件( f)

(单位:千美元)_[标签](https://bazel.build/docs/build-ref.html#labels)_: 包含 Terser minify () 选项的 JSON 文件 .

这是您在 terser 的 CLI 中通过的文件 . [https://github.com/terser-js/terser#minify-options 互联网档案馆的存檔,存档日期2013-12-22](https://github.com/terser-js/terser#minify-options) 文档文件的内容.

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`

#### 曲线

(单位:千美元)_[标签](https://bazel.build/docs/build-ref.html#labels),强制_: 要修改的文件 .

可以是.js文件,规则生成.js文件作为其默认输出,也可以是规则生成.js文件目录.

注意您可以将多个文件传递给 terser, 它会捆绑在一起 . 如果你想这样做,可以在这里通过一个文件组.

#### 三进制( b)

(单位:千美元)_[标签](https://bazel.build/docs/build-ref.html#labels)_: 运行 Terser 的可执行目标

默认为 `@npm//@bazel/terser/bin:terser`

## 常见问题

### @bazel/terser 是什么？

在 Bazel 下运行 Terser JS 优化程序

### 如何安装 @bazel/terser？

在项目目录运行 npm install @bazel/terser，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：terser（\>=4\.0\.0 \<5\.9\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 terser，可以用 npx terser 直接运行。

### @bazel/terser 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/bazel\_\_terser 是否存在。

### @bazel/terser 可以商用吗？

@bazel/terser 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @bazel/terser 的下载量有多少？

根据 npm 官方下载统计，@bazel/terser 在 2026/10/08 – 2026/11/06 这 30 天内被下载 88,729 次，日均约 2,958 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bazel/terser 还在维护吗？

最新版本 5\.8\.1 发布于 2023/02/17（3 年前）；至今共发布 100 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/09/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

