如何⽤ webpack 来优化前端性能?
如何⽤ webpack 来优化前端性能?#
⽤ webpack 优化前端性能是指优化 webpack 的输出结果,让打包的最终结果在浏览器运⾏快速⾼效。
- 压缩代码:删除多余的代码、注释、简化代码的写法等等⽅式。可以利⽤ webpack 的 UglifyJsPlugin 和 ParallelUglifyPlugin 来压缩 JS ⽂件, 利⽤ cssnano (css-loader?minimize)来压缩 css;
- 利⽤ CDN 加速:在构建过程中,将引⽤的静态资源路径修改为 CDN 上对应的路径。可以利⽤ webpack 对于 output 参数和各 loader 的 publicPath 参数来修改资源路径;
- Tree Shaking: 将代码中永远不会⾛到的⽚段删除掉。可以通过在启动 webpack 时追加参数 –optimize-minimize 来实现;
- Code Splitting: 将代码按路由维度或者组件分块 (chunk), 这样做到按需加载,同时可以充分利⽤浏览器缓存;
- 提取公共第三⽅库: SplitChunksPlugin 插件来进⾏公共模块抽取,利⽤浏览器缓存可以⻓期缓存这些⽆需频繁变动的公共代码。
如何提⾼ webpack 的构建速度?#
- 多⼊⼝情况下,使⽤ CommonsChunkPlugin 来提取公共代码;
- 通过 externals 配置来提取常⽤库;
- 利⽤ DllPlugin 和 DllReferencePlugin 预编译资源模块 通过 DllPlugin 来对那些我们引⽤但是绝对不会修改的 npm 包来进⾏预编译,再通过 DllReferencePlugin 将预编译的模块加载进来;
- 使⽤ Happypack 实现多线程加速编译;
- 使⽤ webpack-uglify-parallel 来提升 uglifyPlugin 的压缩速度。原理上 webpack-uglify-parallel 采⽤了多核并⾏压缩来提升压缩速度;
- 使⽤ Tree-shaking 和 Scope Hoisting 来剔除多余代码。
本文由 note.batype.com 导入。
相关文章
- 如何对项目中的图片进行优化?
1. 不用图片。很多时候会使用到很多修饰类图片,其实这类修饰图片 完全可以用 CSS 去代替。 2. 对于移动端来说,屏幕宽度就那么点,完全没有必要去加载原图浪 费带宽。一般图片都用 CDN 加载,可
- 前端懒加载是什么?
懒加载也叫做延迟加载、按需加载,指的是在长网页中延迟加载图片数据,是一种较好的网页性能优化的方式。在比较长的网页或应用中,如果图片很多,所有的图片都被加载出来,而用户只能看到可视窗口的那一部分图片数据
- 节流和防抖
函数防抖是指在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件 又被触发,则重新计时。这可以使用在一些点击请求的事件上,避免因 为用户的多次点击向后端发送多次请求。 函数节流是指规定一个单位时间