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 相关文章推荐
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 Javascript
js模仿java的Map集合详解
Jan 06 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
Aug 03 Javascript
基于Vue实例生命周期(全面解析)
Aug 16 Javascript
javascript流程控制语句集合
Sep 18 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 Javascript
微信小程序后台持续定位功能使用详解
Aug 23 Javascript
vue 对axios get pust put delete封装的实例代码
Jan 05 Javascript
JavaScript布尔运算符原理使用解析
May 06 Javascript
Canvas三种动态画圆实现方法说明(小结)
Apr 16 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
计算机专业应届毕业生自荐信
2013/09/26 职场文书
地理科学专业自荐信
2014/09/01 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
行为习惯主题班会
2015/08/14 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
springboot读取nacos配置文件
2022/05/20 Java/Android