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

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

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

我不知道为什么会这样。


当前回答

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

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

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

其他回答

在同一个目录包里。json, package-lock。Json和yarn.lock。它帮助我删除纱线。锁目录。尽管我不想使用纱线,但它还是以某种方式添加到我的项目中

我不想升级react-scripts,所以我使用第三方的重新安装npm模块来重新安装它,它工作了。

npm i -g npm-reinstall
reinstall react-scripts

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

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

如果您在package中添加了一个包。Json,然后你删除了它。记住要删除添加在/config/plugin.js或任何与该包相关的地方的任何配置。

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