react脚本5.0.0带来了额外的webpack依赖性



我有一个现有的项目正在更新为react-scripts@5.0.0。尝试构建或运行开发服务器导致

TypeError: The 'compilation' argument must be an instance of Compilation

根据建议,这是由于网络包版本冲突,我在node_modules中发现了以下内容。

node_modules/webpack
node_modules/react-scripts/config/webpack
node_modules/react-scripts/node_modules/.bin/webpack <--- the culprit
node_modules/react-scripts/node_modules/webpack

如果我使用CRA生成一个新的项目,所有的工作都会找到,node_modules看起来像这个

node_modules/webpack
node_modules/react-scripts/config/webpack

删除node_modules/react-scripts/node_modules/下的额外webpack会使我的项目开始工作,但运行npm安装会使其恢复。

这是从哪里来的?为什么我的项目引入了这一点,而一个新的CRA项目却没有?

更新1

我应该指出,在我的package.json中添加重写并没有起到任何作用。

"overrides": {
"webpack": "5.70.0"
}

package-lock.json中删除相应的react-scripts/node_modules/webpack条目可以清除此问题。

最新更新