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

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

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

我不知道为什么会这样。


当前回答

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

但是,将这个添加到我的包中。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回购同步(并获得它们所有最新的增强!)

去你的package.json 修改“react-scripts”:“3.x。X”到“react-scripts”:依赖项中的“^3.4.0” 重新安装react-scripts: npm I react-scripts 启动你的项目:npm Start

当运行无参数的react-native bundle命令时,也会出现非常类似的错误(误导)。

为成功运行提供——entry-file和——bundle-output:

react-native bundle --entry-file ./index.js --bundle-output ./index.jsbundle

简单地升级反应脚本版本解决了我的问题。 从" React-scripts ": "3.x。X "到"react-scripts": "^3.4.1"(或最新可用版本)。 避免删除package-lock。json马上。先试试这个,如果不行,再进一步。

运行npm i react-dev-utils@10.0.0解决了我的问题。