我正在 React 中处理一个项目,但遇到了一个让我难倒的问题。
每当我运行时,yarn start
我都会收到此错误:
类型错误 [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。接收类型未定义
我不知道为什么会发生这种情况,如果有人遇到过这种情况,我将不胜感激。
我正在 React 中处理一个项目,但遇到了一个让我难倒的问题。
每当我运行时,yarn start
我都会收到此错误:
类型错误 [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。接收类型未定义
我不知道为什么会发生这种情况,如果有人遇到过这种情况,我将不胜感激。
要解决此问题,只需升级react-scripts包(检查最新版本npm info react-scripts version
):
"react-scripts": "^3.x.x"
为"react-scripts": "^3.4.1"
(或最新的可用版本)npm install
或yarn install
有些人报告说这个问题是由运行引起的npm audit fix
(避免它!)。
如果您已弹出,这是解决此问题的正确方法:
找到此文件config/webpackDevServer.config.js
,然后在此文件中找到以下行:
app.use(noopServiceWorkerMiddleware());
您应该将其更改为:
app.use(noopServiceWorkerMiddleware('/'));
对我(可能还有你们中的大多数人)来说,服务工作者是在项目的根部提供服务的。如果它对您来说不同,您可以改为传递您的基本路径。
我也遇到过这个问题,并通过将react-scripts
包从升级"react-scripts": "3.x.x"
到"react-scripts": "^3.4.1"
(或最新的可用版本)来解决这个问题。
node_modules\
文件夹package-lock.json
文件package.json
文件改写"react-scripts": "3.x.x"
为"react-scripts": "^3.4.1"
npm i
npm start
它有效!!
跑步npm i react-dev-utils@10.0.0
解决了我的问题。
我在安装和删除一些 npm 包后才遇到这个问题,花了将近 5 个小时才弄清楚发生了什么。
我所做的基本上是将我的 src/components 复制到不同的目录中,然后删除所有节点module和 package-lock.json(如果您在 Docker 容器中运行您的应用程序,请删除图像并重建它以确保安全);然后将它重置为我的最后一次提交,然后放回我的 src/components 然后运行npm i
.
我希望它有帮助。