webpack3升级到webpack4遇到问题总结


Posted in Javascript onSeptember 30, 2019

最近由于项目需要,需要对已有的两个vue项目进行webpack3升级到webpack4,此处记录一下整个升级过程的几个重要步骤,以及遇到的问题和解决方案。

1、更新webpack以及相关联插件,webpack4新增插件webpack-cli

npm i -D webpack webpack-cli webpack-dev-server webpack-merge

2、运行npm run dev,报错:Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead.

webpack3升级到webpack4遇到问题总结

原因:webpack.optimize.CommonsChunkPlugin 已废弃,修改为webpack.optimize.SplitChunksPlugin

3、运行报错:Error: Plugin could not be registered at 'html-webpack-plugin-before-html-processing'. Hook was not found.

webpack3升级到webpack4遇到问题总结

原因:webpack升级,html-webpack-plugin未匹配

解决方案:升级html-webpack-plugin插件

升级插件到 html-webpack-plugin: “^3.2.0”版本,再次运行,报错

webpack3升级到webpack4遇到问题总结

原因:项目中自定义由于需要,需要对每一个打包好的html模版都插入一段js,所以基于html-webpack-plugin自定义了一段插件代码,但是该代码需要根据webpack4重新处理一下,参考官网:https://github.com/jantimon/h...

解决:

第一步:升级插件 npm i -D html-webpack-plugin@next;
第二部修改自定义代码部分,如图:

webpack3升级到webpack4遇到问题总结

4、运行报错:Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead

webpack3升级到webpack4遇到问题总结

原因:Since webpack v4 the extract-text-webpack-plugin should not be used for css. Use mini-css-extract-plugin instead.

解决: npm install extract-text-webpack-plugin@next;

只更新extract-text-webpack-plugin可能没用,最好更新成mini-css-extract-plugin,具体可看第6步

5、报错:TypeError: Cannot read property 'vue' of undefined

webpack3升级到webpack4遇到问题总结

原因:更新webpack,未更新vue-loader

解决:npm i -D vue-loader

注意:webpack4需要在配置中加入插件的引用才会生效

const VueLoaderPlugin = require('vue-loader/lib/plugin');
//配置中加入
plugins: [
  new VueLoaderPlugin()
],

6、报错

webpack3升级到webpack4遇到问题总结

切换为mini-css-extract-plugin

webpack3升级到webpack4遇到问题总结

7、视情况更新

"vue-style-loader": "^4.1.2",
"vue-template-compiler": "^2.6.10”,
"html-webpack-exclude-assets-plugin": "0.0.7",
"html-webpack-inline-chunk-plugin": "^1.1.1",

8、删除

webpack3升级到webpack4遇到问题总结

在配置中加入

webpack3升级到webpack4遇到问题总结

9、BaseClient.js?e917:12 Uncaught TypeError: Cannot assign to read only property 'exports' of object ‘#
npm run dev不报错,但是在浏览器打开,控制台报错

webpack3升级到webpack4遇到问题总结

原因,webpack4之后,不允许混用 exports和import

解决: 修改include部分为下边这样

webpack3升级到webpack4遇到问题总结

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 单引号 传递方法
Jun 22 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
Aug 05 Javascript
js实现发送验证码后的倒计时功能
May 28 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
深入探讨前端框架react
Dec 09 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
Jun 06 Javascript
浅谈JavaScript 覆盖原型以及更改原型
Aug 31 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
小程序封装路由文件和路由方法(5种全解析)
May 26 Javascript
node express使用HTML模板的方法示例
Aug 22 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
js cavans实现静态滚动弹幕
May 21 Javascript
uploadify插件实现多个图片上传并预览
Sep 30 #Javascript
vue中使用[provide/inject]实现页面reload的方法
Sep 30 #Javascript
JavaScript中的null和undefined用法解析
Sep 30 #Javascript
vue resource发送请求的几种方式
Sep 30 #Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 #Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 #Javascript
JavaScript实现图片上传并预览并提交ajax
Sep 30 #Javascript
You might like
php ftp文件上传函数(基础版)
2010/06/03 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
javascript 打印内容方法小结
2009/11/04 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
JS跨域代码片段
2012/08/30 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
python读写文件操作示例程序
2013/12/02 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python找出9个连续的空闲端口
2016/02/01 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python面向对象 反射原理解析
2019/08/12 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
生物科学系大学生的自我评价
2013/12/20 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
会计岗位职责模板
2014/03/12 职场文书
车辆转让协议书
2014/09/24 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
先进班组事迹材料
2014/12/25 职场文书
道士塔读书笔记
2015/06/30 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
redis数据一致性的实现示例
2022/03/18 Redis
MySQL时区造成时差问题
2022/04/13 MySQL