webpack版本:4.43.0
- 手动配置DllPlugin
DllPlugin是webapck内置的一款可以加快构建速度的插件,其主要优化思想就是用空间换取时间,对于某些不常更新依赖内容,如:vue、vuex、vue-router,UI库等,可以提前打包好,取名为’dll.js’为后缀的打包文件,后面再打包的时候就跳过原来的未打包代码,直接使用之前打包好的文件,依次减少构建速度。
首先要写一个dll的webpack配置文件,放在根目录或者自己新建一个build文件夹都行。
1 | var path = require('path'); |
在vue.config.js里增加plugin配置
1 | const DllReferencePlugin = require('webpack/lib/DllReferencePlugin'); |
在package.json里增肌一条dll
命令
1 | "dll": "webpack --config ./build/webpack.dll.conf.js", // 路径是dll配置放的路径 |
执行命令 npm run dll
,因为我的dll配置里分成了三个包,所以我会得到三个json与三个dll.js文件,放在配置里指定存放的位置
1 | // build 文件夹下 |
最后一步,在index.html尾部引入三个dll.js文件
1 | // index.html |
优点:
- 可以加快构建速度,但其实加速的时间并不多。
缺点:
- 配置步骤很麻烦,指定依赖更新时,需要手动执行命令进行更新
- vue与react的脚手架已经去dll 配置,表示webpack4的打包性能足够好,不需要这个。(相关issues)[https://link.zhihu.com/?target=https%3A//github.com/vuejs/vue-cli/issues/1205]
- 虽然可以指定依赖内容提前打包,但是开发环境下这些依赖依旧会打包进chunk里。
- 使用dll自动化配置插件:autodll-webpack-plugin
可以省去繁琐的dll配置,只需要在vue.config.js
里增加如下配置即可。
1 | npm install autodll-webpack-plugin -D |
- 使用为模块提供中间缓存的插件
hard-source-webpack-plugin
,首次构建时间没有太大变化,但是第二次开始,构建时间会大大减少。配置也非常简单.
1 | npm install hard-source-webpack-plugin -D |