Minification
代码压缩(代码体积缩减)
从源代码中删除所有不必要字符(空白、注释、长变量名)以减小文件大小而不改变功能的过程。压缩对于优化网页加载性能至关重要。
技术细节
JavaScript压缩工具(Terser、esbuild、SWC)执行词法分析、AST分析、死代码消除、变量名缩短(mangling)和常量折叠。CSS压缩工具(cssnano、Lightning CSS)合并规则并缩短颜色值。典型节省:JavaScript压缩节省40-60%,额外gzip压缩再节省60-80%。Source maps(.map文件)允许调试时映射回原始代码。
示例
```javascript
// Simple CSS minifier
function minifyCSS(css) {
return css
.replace(/\/\*[\s\S]*?\*\//g, '') // remove comments
.replace(/\s+/g, ' ') // collapse whitespace
.replace(/\s*([{};:,])\s*/g, '$1') // remove around symbols
.trim();
}
// 1024 bytes → 612 bytes (40% reduction)
```