我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
当前回答
如果您有一个弹出的CRA, webpack-dev-server配置有一些更改,如果保持不变将抛出此错误。比较刚弹射出来的cra4。x配置到我的cra3。X配置显示了对函数的一些更改,这些函数以前不接受参数,现在接受了。
在我的例子中,一个突破性的变化是添加了通往noopServiceWorkerMiddleware函数的路径。添加在缺失的路径noopServiceWorkerMiddleware(paths.publicUrl)为我修复了这个问题。
其他回答
只需要删除并重新安装反应脚本
删除 Yarn删除反应脚本 添加 Yarn添加反应脚本
然后rm -rf node_modules/ yarn。锁纱
记住不要经常更新react-scripts版本
如果你已经弹出,这是解决这个问题的正确方法:
找到这个文件config/webpackDevServer.config.js,然后在这个文件中找到以下一行:
app.use(noopServiceWorkerMiddleware());
你应该把它改成:
app.use(noopServiceWorkerMiddleware('/'));
对我(可能还有你们中的大多数人)来说,service worker是在项目的根源处服务的。如果它对你不同,你可以传递你的基路径。
在同一个目录包里。json, package-lock。Json和yarn.lock。它帮助我删除纱线。锁目录。尽管我不想使用纱线,但它还是以某种方式添加到我的项目中
将HOME环境变量设置为适当的值为我修复了这个问题。
要解决这个问题,只需升级react-scripts包(用npm info react-scripts version检查最新版本):
替换在你的包里。Json "react-scripts": "^3.x。X "和"react-scripts": "^3.4.1"(或最新可用版本) 删除你的node_modules文件夹 运行npm install或yarn install
一些人报告说这个问题是由运行npm审计修复引起的(避免它!)