如何用webpack来优化前端性能?
优化方案
压缩代码
删除多余代码,注释,简化代码的写法等等方式。可以利用webpack
的uglifyJsPlugin
和ParallelUglifyPlugin
来压缩js
文件,利用cssnano
来压缩css
资源。
利用CDN加速
在构建过程中,将引用的静态资源修改为CDN上对应的路径。我们想引用一个库,但是又不想让webpack
打包,并且又不影响我们在程序中以CMD、AMD
或者window/global
全局等方式进行使用,那就可以通过配置externals
。
configureWebpack: { externals: { "vue": "Vue", "vue-router": "VueRouter", "axios": "axios", "moment": "moment", "element-ui": "ELEMENT", } }
Tree shaking
将代码中永远不会⾛到的⽚段删除掉。可以通过在启动webpack
时追加参数 --optimize-minimize
来实现。
Code Splitting
将代码按路由维度或者组件分块(chunk
),这样做到按需加载,同时可以充分利⽤浏览器缓存。例如vue
中的异步组件就是按需加载。
提取公共第三⽅库
提取公共第三⽅库:来进⾏公共模块抽取,利⽤浏览器缓存可以⻓期缓存这些⽆需频繁变动的公共代码。