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

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

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

我不知道为什么会这样。


当前回答

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

其他回答

如果您有一个弹出的CRA, webpack-dev-server配置有一些更改,如果保持不变将抛出此错误。比较刚弹射出来的cra4。x配置到我的cra3。X配置显示了对函数的一些更改,这些函数以前不接受参数,现在接受了。

在我的例子中,一个突破性的变化是添加了通往noopServiceWorkerMiddleware函数的路径。添加在缺失的路径noopServiceWorkerMiddleware(paths.publicUrl)为我修复了这个问题。

只需将反应脚本更新到最新版本。

yarn add react-scripts@latest

或者如果使用NPM

npm install react-scripts@latest

我也有同样的问题,运行npm install react-scripts@latest解决了我的问题。

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

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

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

我尝试了上面描述的各种方法,但没有一个工作,因为我已经弹出了我的css。最后,应用以下步骤会有所帮助:

upgrade ereact-scripts from "react-scripts": "3.x。X " to "react-scripts": "^3.4.0" 降级react- devi -utils格式为"react- devi -utils": "^10.x. "X " to "react-dev-utils": "10.0.0" 删除node-modules文件夹和package-lock.json/yarn.lock 重新安装npm install/yarn install