webpack 打包过程中影响构建时间的主要为babel,和代码压缩。因此针对这两方面进行方案替代。
swc 替代babel做代码polyfill。
由于swc只能压缩js,因此使用esbuild 做js,css压缩。
module: {rules: [{test: /.js/,use: {loader: 'swc-loader'}}]...
},
...
optimization: [minimizer: [new require('esbuild-loader').ESBuildMinifyPlugin({ target: ['chrome49'],// target: 'es2015' 重要legalComments: 'none', // 去除注释css: true, // 压缩css// implementation: require('esbuild')})// 新版esbuild改名了为 EsbuildPlugin()new require('esbuild-loader').EsbuildPlugin({...})]
]
{"env": {"targets": {"chrome": "49"},"mode": "entry","coreJs": "3.24"}
}
ESBuildMinifyPlugin的 配置中加上target。
因为我在压缩css时发现,esbuild会把top:0;right:0;bottom:0;left:0; 转换成inset: 0; inset 是top/right/bottom/left 的复合属性,但是兼容性 chrome > 87。在低版本浏览器就失效。
打包时间 5s => 1.5s 提升比例明显。
本文发布于:2024-02-02 00:06:29,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170680939640054.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |