使用vue开发项目,项目打包后发现chunk-vendors.xxx.js
体积总是很大,项目大点会超过1M,之前一直想把这个问题解决,但却不知道怎么解决,最近有位掘金大佬写了篇文章把我这么久以来的困扰解开了,跟着大佬的解决方案走了一遍,成功的把一些第3方依赖(如vuex、element ui、axios)及公共代码提取出来了,为了记录下困扰我已久的问题被解决所以就写了这篇文章。掘金大佬文章:
Vue多页面优化踩坑记录
功能 | 依赖文件 |
---|---|
es6语法转es5语法 | npm i babel-loader @babel/core @babel/preset-env -D |
es6新api转换 |
npm install --save @babel/polyfill npm install --save-dev @babel/plugin-transform-runtime npm install --save @babel/runtime-corejs3
|
webpack | npm install webpack webpack-cli -D |
清除文件插件 | npm install clean-webpack-plugin -D |
将JavaScript或者CSS插入 到webpack插件生成的HTML中 |
npm install add-asset-html-webpack-plugin -D |
生成.babelrc
文件,并写入如下代码:
{ "presets": [ [ "@babel/preset-env" ] ], "plugins": [ [ "@babel/plugin-transform-runtime", { "absoluteRuntime": false, "corejs": 3, "helpers": true, "regenerator": true, "useESModules": false } ] ] }
1.将webpack.dll.config.js
、.babelrc
文件拷贝至项目跟目录(文件在GitHub上)
2.修改webpack.dll.config.js
中的代码
1.修改dll文件存放目录(根据需要修改,也可以不修改) 2.修改entry
3.在vue.config.js
中的configureWebpack
中添加生成dll文件配置
4.在package.json
文件中的script
添加一条命令,"dll": "webpack -p --progress --config .webpack.dll.config.js"
在执行打包命令前一定要先执行生成dll文件的命令,即先执行npm run dll
,然后在执行npm run build
运行npm run dll
命令后会在/public/dll
目录中生成一个xxx.dll.js
和xxx.manifest.json
文件,其中xxx
就是webpack.dll.config.js
中entry
中的key
vue项目提取第3方插件及公共代码至单独文件:vue-extract-plugins