JavaScript 压缩工具
用 Terser 压缩 JavaScript:删除空白和注释、缩短局部变量名,并应用安全的压缩优化。在浏览器中运行。
输出
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 JavaScript 压缩?
JavaScript 压缩工具使用 Terser(webpack 和 Vite 采用的压缩器)来压缩现代 JavaScript(ES2015+)。它会删除空白和注释,把局部变量重命名为短名称,并简化表达式。
如何使用 JavaScript 压缩
- 把 JavaScript 粘贴到输入框中。
- 点击 压缩(输入时输出也会更新)。
- 查看输出下方的体积行。
- 复制或下载压缩后的代码。
示例
输入
function add(first, second) {
return first + second;
}
console.log(add(1, 2)); 输出
function add(d,n){return d+n}console.log(add(1,2)); 何时使用 JavaScript 压缩
适合小脚本、书签脚本、内联的 <script> 代码块或快速查看体积。对于应用程序,请让打包工具压缩并生成 source map。它不会转译 TypeScript 或 JSX,请先去掉类型。
JavaScript 压缩 的工作原理
代码使用 terser.minify 压缩,启用 compress 和 mangle,并删除所有注释。Terser 把代码解析为 AST,内联常量,删除局部作用域中的死代码和未使用的变量,并重命名函数内部的标识符。顶层名称不会被混淆,所以全局函数保持原名。语法错误会连同行号和列号一起报告。
常见用例
- 压缩静态网站使用的独立脚本
- 制作精简的书签脚本
- 查看某个库函数能压缩到多小
- 嵌入代码前先删除注释
安全提示
所有处理都在你的浏览器本地完成,粘贴的代码不会被上传。
常见问题
为什么我的顶层变量名没有被缩短?
顶层名称可能被其他脚本使用,所以 Terser 默认会保留它们。
支持 TypeScript 或 JSX 吗?
不支持,输入必须是纯 JavaScript。
会生成 source map 吗?
不会;需要 source map 时请使用你的构建工具。