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 相关文章推荐
Javascript 陷阱 window全局对象
Nov 26 Javascript
Jquery上传插件 uploadify v3.1使用说明
Jun 18 Javascript
JavaScript通过正则表达式实现表单验证电话号码
Mar 07 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
Feb 11 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
Jul 04 Javascript
详解vue-cli官方脚手架配置
Jul 20 Javascript
使用layer弹窗和layui表单实现新增功能
Aug 09 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
Aug 22 Javascript
微信小程序传值以及获取值方法的详解
Apr 29 Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 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 传输会话curl函数的实例详解
2017/09/12 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
ORACLE十问
2015/04/20 面试题
优秀生推荐信范文
2013/11/28 职场文书
单位绩效考核方案
2014/05/11 职场文书
技校毕业生自荐信
2014/06/03 职场文书
班风口号
2014/06/18 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
Python如何让字典保持有序排列
2022/04/29 Python