JS 压缩器
JS 压缩器是一款免费的在线IT 开发工具,仅做快速瘦身可用本工具;CI 流水线里推荐集成 Terser 以获得更优压缩率与 tree-shaking。纯前端…
🗜️ JS Minifier
JS Minifier - Remove comments and extra whitespace from JavaScript for a quick size reduction, without renaming variables. Free, browser-only.
📐 工作原理与说明
压缩 JS 代码以减小体积。
- 手段:去空白与注释、缩短标识符、删除不可达代码、合并常量。
- 验证:压缩后必须做功能回归,确认行为未改变。
- 叠加:与 gzip/brotli 传输压缩叠加使用,收益更明显。
- 许可:保留
/*! … */形式的许可声明,满足开源协议要求。
⚠️ 使用说明与注意事项
- 本压缩为「安全型」:只去注释与空白,不重命名变量、不改作用域,几乎不改变行为。
- 真正的生产压缩应交给 Terser/esbuild:会做变量重命名、死代码消除、常量折叠,体积更小但不可读。
- 压缩会删除版权/许可证注释,若需保留请用 /*! 开头的重要注释(本工具一并移除,发布前请确认)。
📋 建议
仅做快速瘦身可用本工具;CI 流水线里推荐集成 Terser 以获得更优压缩率与 tree-shaking。
📚 深度解析:JS Minifier
💡 常见使用场景
- 与 js-minifier 同类压缩。
- 给第三方 SDK 或嵌入脚本做体积优化:压缩后再内联到页面,减少额外请求与解析成本。
压缩
去空白注释,体积常降 30%+。
❓ 常见问题(FAQ)
- ESM 能压缩吗?
- 能,现代压缩器支持 ESM 语法。
- 压缩会破坏 ES Module 的 tree-shaking 吗?
- 顺序很关键:应先由打包器(Rollup/esbuild)做模块解析与 tree-shaking,再对最终产物压缩。若先把每个模块单独压缩,副作用标记与导出信息可能丢失,导致本可剔除的代码被保留。压缩器一般只做局部等价变换,不做跨模块分析。