类型错误 [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。启动react应用程序时引发的接收类型未定义

IT技术 javascript reactjs redux visual-studio-code yarnpkg
2021-03-01 13:45:46

我正在 React 中处理一个项目,但遇到了一个让我难倒的问题。

每当我运行时,yarn start我都会收到此错误:

类型错误 [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。接收类型未定义

我不知道为什么会发生这种情况,如果有人遇到过这种情况,我将不胜感激。

6个回答

要解决此问题,只需升级react-scripts包(检查最新版本npm info react-scripts version):

  1. 在您的package.json 中 替换"react-scripts": "^3.x.x""react-scripts": "^3.4.1"(或最新的可用版本)
  2. (某些可选)删除您的node_modules文件夹
  3. 运行npm installyarn install

有些人报告说这个问题是由运行引起的npm audit fix(避免它!)。

这“刚刚开始”发生在我身上,但它确实是在运行之后npm audit fix,以防对任何人有用。
2021-04-28 13:45:46
你知道为什么会这样吗?
2021-05-01 13:45:46
这在运行“npm audit fix”后开始发生
2021-05-02 13:45:46
当确实是从升级我的问题解决3.3.03.4.0奇怪的是,它只是在开发过程中停止工作,没有任何原因。
2021-05-19 13:45:46
仔细检查您的 react-scripts 版本是否在 package.json 中设置为 ^3.4.1。这是我的问题。如果设置不正确,再多的重新安装都不会奏效。
2021-05-19 13:45:46

如果您已弹出,这是解决此问题的正确方法:

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

app.use(noopServiceWorkerMiddleware());

您应该将其更改为:

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

对我(可能还有你们中的大多数人)来说,服务工作者是在项目的根部提供服务的。如果它对您来说不同,您可以改为传递您的基本路径。

我在react-scripts@^4.0.3,这就是我的答案。
2021-04-21 13:45:46
是的,这也可能有效。我用 '/' 成功了,所以没有尝试其他的东西。
2021-05-01 13:45:46
这也为我修好了。谢谢!
2021-05-02 13:45:46
我认为app.use(noopServiceWorkerMiddleware(''));也可以根据我在这里看到和测试的内容来工作github.com/facebook/create-react-app/issues/...
2021-05-13 13:45:46

我也遇到过这个问题,并通过将react-scripts包从升级"react-scripts": "3.x.x""react-scripts": "^3.4.1"(或最新的可用版本)解决这个问题

  1. 删除node_modules\文件夹
  2. 删除package-lock.json文件
  3. package.json文件改写"react-scripts": "3.x.x""react-scripts": "^3.4.1"
  4. 再次安装节点包 npm i
  5. 现在,开始项目 npm start

它有效!!

不要删除包锁!除非你想让你的所有包版本在下一个版本都被搞乱npm i,那么一定要删除 package-lock
2021-05-08 13:45:46
最新版本3.4.1自 2020 年 3 月 21 日起
2021-05-16 13:45:46

跑步npm i react-dev-utils@10.0.0解决了我的问题。

我做了所有以前的,然后这个修复它。
2021-04-26 13:45:46

我在安装和删除一些 npm 包后才遇到这个问题,花了将近 5 个小时才弄清楚发生了什么。

我所做的基本上是将我的 src/components 复制到不同的目录中,然后删除所有节点module和 package-lock.json(如果您在 Docker 容器中运行您的应用程序,请删除图像并重建它以确保安全);然后将它重置为我的最后一次提交,然后放回我的 src/components 然后运行npm i.

我希望它有帮助。