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

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

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

我不知道为什么会这样。


当前回答

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

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

其他回答

将HOME环境变量设置为适当的值为我修复了这个问题。

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

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

我们从react-scripts中弹出,因此不能简单地升级包。Json条目来修复这个问题。

相反,我们这样做了:

在新目录下创建一个新项目-> $> NPX create-react-app foo-project 然后弹出它-> CD ./foo-project && NPM运行弹出 现在将/foo-project/config中的文件复制到我们的主应用程序的config目录中,并启动您的开发服务器

希望这能帮助到其他有类似困境的人。

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

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