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 document.referrer判断访客来源网址
May 15 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
Jan 17 Javascript
js中运算符&& 和 || 的使用记录
Aug 21 Javascript
AngularJS入门教程之过滤器详解
Aug 19 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
详解React-Todos入门例子
Nov 08 Javascript
Node学习记录之cluster模块
May 31 Javascript
原生js封装的ajax方法示例
Aug 02 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
详解小程序横屏方案对比
Jun 28 Javascript
js实现菜单跳转效果
Dec 11 Javascript
JavaScript前端面试组合函数
Jun 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使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
Python全局变量操作详解
2015/04/14 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
python 内置函数filter
2017/06/01 Python
详解python3中socket套接字的编码问题解决
2017/07/01 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
python如何爬取个性签名
2018/06/19 Python
python实现一个简单的ping工具方法
2019/01/31 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
大学竞选班长演讲稿
2014/04/24 职场文书
活动总结怎么写啊
2014/05/07 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
八项规定整改方案
2014/10/01 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
Redis可视化客户端小结
2021/06/10 Redis