JavaScript代码压缩通过删除无用字符、缩短变量名、简化语法结构减小体积且保持功能不变,主流工具包括Terser(现代首选)、UglifyJS(已停更)和SWC(Rust编写、极速),推荐Terser集成于Webpack 5+,并需配合Gzip、按需引入等进一步优化。
JavaScript代码压缩主要是通过删除无用字符、缩短变量名、简化语法结构等方式减小文件体积,同时保持功能不变。关键不是单纯删空格,而是安全地进行语法级优化。
目前最常用且维护活跃的工具有三个:
以Terser为例,命令行快速压缩:
npx terser input.js -o output.min.js --compress --mangle其中:
实际项目中不建议手动执行压缩,应交由构建工具自动处理:
optimization.minimize: true 即可启用TerserPluginbuild.minify 选项切换为 'terser' 或 'esbuild'
@rollup/plugin-terser 插件并添加到plugins数组单靠压缩效果有限,需配合其他手段:
器压缩(通常能再减少60%–70%传输体积)/*#__PURE__*/ 标记无副作用调用,帮助Terser识别并移除未使用的函数