时间:2021-05-26
1.webpack 3.11升级4.26
为了提升打包效率,在webpack3.11基础之上做了升级,webpack4.0发布以来,零配置的webpack对项目本身提供的“打包”和“压缩”功能已经做了优化,如果在项目开始使用4.0而不用vue-cli的默认配置,遇到的问题或许能少一些。
2. 安装/升级依赖
这些依赖有的是在build过程中发现依赖有新的替换或者报错,逐步替换的,如果想遇到多个坑,可以先把webpack、webpack-cli升级到对应版本
devDependencies:
"extract-text-webpack-plugin": "^4.0.0-beta.0""html-webpack-plugin": "^4.0.0-beta.14""mini-css-extract-plugin": "^0.9.0" (旧的optimize-css-assets-webpack不支持了)"preload-webpack-plugin": "^3.0.0-beta.4""script-ext-html-webpack-plugin": "^2.1.3""vue-loader": "^15.3.0""webpack": "^4.26.1""webpack-cli": "^3.1.2""webpack-dev-server": "^3.2.1""script-ext-html-webpack-plugin": "^2.1.3"3. 遇到的问题
升级webpack后,build报错:ERROR in ./src/App.vue
Module Error (from ./node_modules/vue-loader/lib/index.js
解决:升级vue-loader至15.3.0,
webpack.base.conf.js添加
const {VueLoaderPlugin} = require('vue-loader')module.exports中添加 plugins:[new VueLoaderPlugin()]修改配置文件 webpack.prod.conf.js:
webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead.
解决:
Plugin could not be registered at ‘html-webpack-plugin-before-html-processing'. Hook was not found.
解决:
Tapable.plugin is deprecated. Use new API on .hooks instead
问题:extract-text-webpack-plugin兼容问题 ,功能:extract css into its own file
解决: 卸载extract-text-webpack-plugin,安装mini-css-extract-plugin
new MiniCssExtractPlugin({ filename: utils.assetsPath('css/[name].[contenthash].css'), allChunks: false, }),build出错:ERROR in TypeError: Cannot read property ‘hash' of undefined
解决:
去掉这段 //打包计时 const SpeedMeasurePlugin = require("speed-measure-webpack-plugin"); const smp = new SpeedMeasurePlugin();WARNING in configuration
The ‘mode' option has not been set, webpack will fallback to ‘production' for this value. Set ‘mode' option to ‘development' or ‘production' to enable defaults for each environment.
You can also set it to ‘none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/
解决:webpackConfig添加 mode: ‘production'
Tapable.plugin is deprecated. Use new API on .hooks instead
解决:
npm i --save-dev extract-text-webpack-plugin@next会下载到 extract-text-webpack-plugin@4.0.0-beta
Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.o ptimization…
解决:
Unhandled rejection Error: “dependency” is not a valid chunk sort mode
new HtmlWebpackPlugin({ filename: config.build.index, template: 'index.html', inject: true, minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true }, // necessary to consistently work with multiple chunks via CommonsChunkPlugin chunksSortMode: 'dependency' }),解决:chunksSortMode改为auto或者注释
至此:npm run build 正常
接下来调npm run dev,直接运行成功
4. 总结
开启cache的情况下,原来打包时间22s左右,现在build最快8s左右
升级思路:
到此这篇关于webpack3.0升级4.0的方法步骤的文章就介绍到这了,更多相关webpack3.0升级4.0内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近由于项目需要,需要对已有的两个vue项目进行webpack3升级到webpack4,此处记录一下整个升级过程的几个重要步骤,以及遇到的问题和解决方案。1、更
现在USB3.0的速度比USB2.0要快很多,有些设备更是点名要3.0的设备才能兼容,所以将USB从2.0升级到3.0有很重要的意义。 1、首先准备好一块
iOS7.0.4升级教程是怎么样的呢?很多果粉对于iOS7升级更新方法还不是很清楚,接下来统一小编就为大家介绍一下iOS7.0.4升级方法,实际上和之前的i
win10升级系列软件最新版本下载18.74MB微软Win10升级助手立即下载1.41MB腾讯Win10升级助手立即下载2.00MB360win10升级助手立即
ios8升级变砖怎么办呢?在ios固件升级过程中,升级变砖是很常见的一个问题,特别是测试版,下面我们一起来看一下ios8升级变砖解决方法。ios8升级变砖解决方