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使用prototype定义对象类型(转)[
Dec 22 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
浅析AngularJS中的生命周期和延迟处理
Jun 18 Javascript
javascript滚轮控制模拟滚动条
Oct 19 Javascript
详解vue-router基本使用
Apr 18 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
js验证账户名是否重复
May 26 Javascript
js实现表单项的全选、反选及删除操作示例
Jun 05 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
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简单的会话类代码
2011/08/08 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
JavaScript中的small()方法使用详解
2015/06/08 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
Python定义函数实现累计求和操作
2020/05/03 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
如何理解委托
2012/01/06 面试题
某公司.Net方向面试题
2014/04/24 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
教师辞职报告范文
2014/01/20 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
党员个人自我评价
2015/03/03 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
Java详细解析==和equals的区别
2022/04/07 Java/Android