开发者工具

JavaScript 压缩工具

去除注释和空白以缩小 JavaScript 体积——安全可靠,绝不破坏代码。

给这个工具评分
输入
输出

如何使用 JavaScript 压缩工具

  1. 在左侧粘贴你的 JavaScript。
  2. 系统会去除注释和多余空白,同时保留换行以确保代码不被破坏。
  3. 复制压缩后的代码。

关于 JavaScript 压缩工具

JavaScript 压缩工具通过去除注释和精简空白来缩小代码体积,但它始终遵循一条核心原则:绝不破坏你的代码。它的策略刻意保守——不会把所有内容压缩成一行,而是保留换行,这意味着它绝不会意外地将两条语句连接在一起,从而不会像某些激进的工具那样破坏 JavaScript 的自动分号插入(ASI)机制。

它对代码上下文的处理也十分谨慎。字符串、模板字面量和正则表达式字面量都会被正确跳过,因此其中类似注释的内容和散落的空白会被原样保留,绝不会被破坏。这样做的实际代价是,它比 Terser 或 UglifyJS 这类完整压缩器更安全,但压缩力度也更弱:你得到的文件体积更小,并且保证行为不变,但不是理论上能达到的最小体积。

所有处理都在浏览器中完成,你粘贴的内容不会被上传。如果需要再次阅读压缩后的代码,可使用 JavaScript 格式化工具 恢复整洁的缩进;若要压缩前端的其他资源,可搭配使用 CSS 压缩工具

常见问题

为什么输出结果中仍然保留换行?

保留换行是一项安全设计。它意味着压缩工具绝不会把两条语句合并到一行,因此不会破坏 JavaScript 的自动分号插入机制,而这正是激进压缩工具引入 bug 的常见方式。

它压缩后的体积能和 Terser 或 UglifyJS 一样小吗?

不能,它也从未声称能做到。那些压缩器更为激进,可以生成更小的文件。这款工具优先考虑安全性而非最大压缩率,以略大的体积换取代码始终正常运行的保证。

它会破坏字符串或正则表达式吗?

不会。它能正确跳过字符串、模板字面量和正则表达式字面量,因此其中类似注释的文本或空白会被原样保留。只有真正的注释和无关紧要的空白才会被去除。

它实际上会去除什么内容?

它会去除注释并精简不必要的空白,同时保持换行不变。最终得到的文件体积更小,但行为与原始源代码完全相同。

我的代码会被上传到任何地方吗?

不会。压缩过程完全在浏览器中完成,不会发送到任何服务器,因此可以安全地用于私有或专有的 JavaScript 代码。