TypeError: Cannot read properties of undefined (reading ‘NormalModule‘) 错误的解决方案

发生原因

这个错误原因各种各样。虽然是相同的错误,但可能造成的原因完全不同。所以还是需要理性分析。

我遇到的原因是我打算在vue3项目(差不多新建的项目)里面添加less功能。于是我执行下面的代码安装less

npm install less less-loader --save

安装完成后,我打算用一下,结果我忘记webpack怎么配置less了。
在没有配置的情况下。我直接npm run serve运行项目,就出现了这个错误。

我心想,那算了,先不用less了,于是我执行下面的命令把less卸载了。

npm uninstall less less-loader 

卸载后,运行npm run serve打算跑一下项目,发现还是报这个错误。

原因分析和解决思路

于是我直接百度搜这个错误。发现这个错误很多原因都会造成。
于是我做了关键一步:
仔细阅读错误。
仔细阅读错误。
仔细阅读错误。

这个错误发生的直接原因就是这个vue-loader-v16。这非常关键,这可以帮我们减少错误范围。你的错误可能不是这个原因,但一定是某个东西出问题了。

at VueLoaderPlugin.apply (路径\node_modules\vue-loader-v16\dist\pluginWebpack5

这时候用搜索引擎查下面这个具体错误,比直接搜标题这个错误好多了。注意把无关的路径信息去除。

node_modules\vue-loader-v16\dist\pluginWebpack5

我打开的第一篇文章就帮我解决了问题。
这个人遇到的错误和我是一样的,都是报vue-loader-v16的错误。他遇到的原因是换了太电脑就这样了。

他给出的解决方案是重新安装webpack。

npm install webpack@4.39.3 --save

最开始我很怀疑这个解决办法,但还是打算试一试。结果真的是有效的。如果无效可以试着换别的webpack版本。
最好是查一下原来的webpack版本,重新安装一次。

webpack@4.46.0

总结

从现象猜测,可能就是你安装插件的版本和本地的webpack不兼容导致的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值