我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
当前回答
我们从react-scripts中弹出,因此不能简单地升级包。Json条目来修复这个问题。
相反,我们这样做了:
在新目录下创建一个新项目-> $> NPX create-react-app foo-project 然后弹出它-> CD ./foo-project && NPM运行弹出 现在将/foo-project/config中的文件复制到我们的主应用程序的config目录中,并启动您的开发服务器
希望这能帮助到其他有类似困境的人。
其他回答
我尝试了上面描述的各种方法,但没有一个工作,因为我已经弹出了我的css。最后,应用以下步骤会有所帮助:
upgrade ereact-scripts from "react-scripts": "3.x。X " to "react-scripts": "^3.4.0" 降级react- devi -utils格式为"react- devi -utils": "^10.x. "X " to "react-dev-utils": "10.0.0" 删除node-modules文件夹和package-lock.json/yarn.lock 重新安装npm install/yarn install
我也有同样的问题,运行npm install react-scripts@latest解决了我的问题。
如果你已经弹出,这是解决这个问题的正确方法:
找到这个文件config/webpackDevServer.config.js,然后在这个文件中找到以下一行:
app.use(noopServiceWorkerMiddleware());
你应该把它改成:
app.use(noopServiceWorkerMiddleware('/'));
对我(可能还有你们中的大多数人)来说,service worker是在项目的根源处服务的。如果它对你不同,你可以传递你的基路径。
这与react无关,正如所指定的错误一样,undefined不被接受为path参数。确保没有将变量传递给path。恰巧未定义或为空的连接。 例如:
const {path} = require('path');
let arg = undefined;
let mypath = path.join(__dirname, arg);
// The same error would occur.
我在盖茨比博客上也遇到了同样的问题。依赖项无法升级,只能在npm 10.22.1版本上运行。
对我有效的方法如下:
#!/bin/bash
rm -rf .cache
rm -rf public
gatsby build
gatsby serve
基本上完全重建了所有东西,这个错误就消失了。很烦人,但至少它能构建。
更奇怪的是,如果我调整博客文章的图像,比如稍微调整一下大小,它就会生成。我完全不知道为什么。但这至少是个线索。