我正在用React做一个项目,遇到了一个让我难住的问题。

当我运行yarn start时,我得到这个错误:

TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义

我不知道为什么会这样。


当前回答

如果您弹出并感到好奇,CRA回购上的这个变化是导致错误的原因。

要修复它,你需要应用他们的更改;即最后一组文件:

包/ react-scripts / config / paths.js 包/ react-scripts / config / webpack.config.js 包/ react-scripts / config / webpackDevServer.config.js 包/ react-scripts / package.json 包/ react-scripts /脚本/ build.js 包/ react-scripts /脚本/ start.js

就我个人而言,我认为你应该手动应用这些更改,因为除非你一直在更新所有的更改,否则你可能会给你的webpack包引入另一个错误(因为依赖不匹配或其他原因)。

或者,你可以按照Geo Angelopoulos的建议去做。这可能需要一段时间,但至少您的项目将与CRA回购同步(并获得它们所有最新的增强!)

其他回答

在我的例子中,我之前改变了文件夹路径,然后只有我在使用npm start时得到了这个错误。

因此,我将文件夹路径C:\Users\User\Documents\### Coding\todo-app更改为C:\Users\User\Documents\Coding\todo-app,然后它就工作了。

我认为问题是在文件夹名称中使用了这些特殊字符。

我只是在安装和删除一些npm包后遇到了这个问题,花了将近5个小时来弄清楚发生了什么。

我所做的基本上是复制我的src/components到一个不同的目录,然后删除所有的节点模块和包锁。json(如果你在Docker容器中运行你的应用,为了安全起见,删除图像并重新构建它);然后把它重置为我的最后一次提交,然后放回我的src/components,然后运行NPM i。

我希望这能有所帮助。

我在流水线上运行时也遇到了同样的问题。

对我来说,问题是我在docker容器中使用的节点版本为v10.0.0。

更新到v14.7.0为我解决了这个问题

其他的解决方法对我都不起作用。

但是,将这个添加到我的包中。Json为我解决了这个问题:

"resolutions": {
  "react-dev-utils": "10.0.0"
},

如果您弹出并感到好奇,CRA回购上的这个变化是导致错误的原因。

要修复它,你需要应用他们的更改;即最后一组文件:

包/ react-scripts / config / paths.js 包/ react-scripts / config / webpack.config.js 包/ react-scripts / config / webpackDevServer.config.js 包/ react-scripts / package.json 包/ react-scripts /脚本/ build.js 包/ react-scripts /脚本/ start.js

就我个人而言,我认为你应该手动应用这些更改,因为除非你一直在更新所有的更改,否则你可能会给你的webpack包引入另一个错误(因为依赖不匹配或其他原因)。

或者,你可以按照Geo Angelopoulos的建议去做。这可能需要一段时间,但至少您的项目将与CRA回购同步(并获得它们所有最新的增强!)