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

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

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

我不知道为什么会这样。


当前回答

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

其他回答

从powershell切换到bash为我解决了这个问题。

如果你已经弹出,这是解决这个问题的正确方法:

找到这个文件config/webpackDevServer.config.js,然后在这个文件中找到以下一行:

app.use(noopServiceWorkerMiddleware());

你应该把它改成:

app.use(noopServiceWorkerMiddleware('/'));

对我(可能还有你们中的大多数人)来说,service worker是在项目的根源处服务的。如果它对你不同,你可以传递你的基路径。

我在盖茨比博客上也遇到了同样的问题。依赖项无法升级,只能在npm 10.22.1版本上运行。

对我有效的方法如下:

#!/bin/bash
rm -rf .cache
rm -rf public
gatsby build
gatsby serve

基本上完全重建了所有东西,这个错误就消失了。很烦人,但至少它能构建。

更奇怪的是,如果我调整博客文章的图像,比如稍微调整一下大小,它就会生成。我完全不知道为什么。但这至少是个线索。

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

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

npm i -g npm-reinstall
reinstall react-scripts