我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
当前回答
我也有同样的问题,运行npm install react-scripts@latest解决了我的问题。
其他回答
如果您弹出并感到好奇,CRA回购上的这个变化是导致错误的原因。
要修复它,你需要应用他们的更改;即最后一组文件:
包/ react-scripts / config / paths.js 包/ react-scripts / config / webpack.config.js 包/ react-scripts / config / webpackDevServer.config.js 包/ react-scripts / package.json 包/ react-scripts /脚本/ build.js 包/ react-scripts /脚本/ start.js
就我个人而言,我认为你应该手动应用这些更改,因为除非你一直在更新所有的更改,否则你可能会给你的webpack包引入另一个错误(因为依赖不匹配或其他原因)。
或者,你可以按照Geo Angelopoulos的建议去做。这可能需要一段时间,但至少您的项目将与CRA回购同步(并获得它们所有最新的增强!)
如果你已经弹出,这是解决这个问题的正确方法:
找到这个文件config/webpackDevServer.config.js,然后在这个文件中找到以下一行:
app.use(noopServiceWorkerMiddleware());
你应该把它改成:
app.use(noopServiceWorkerMiddleware('/'));
对我(可能还有你们中的大多数人)来说,service worker是在项目的根源处服务的。如果它对你不同,你可以传递你的基路径。
我也遇到过这个问题,并通过从“react-scripts”:“3.x”升级react-scripts包来解决它。X "到"react-scripts": "^3.4.1"(或最新可用版本)。
删除“node_modules\”文件夹 删除package-lock。json文件 重写包。Json文件从"react-scripts": "3.x。X " to "react-scripts": "^3.4.1" 重新安装节点包 现在,启动项目npm start
而且很管用!!
就我而言,这是因为我(一度)安装了reactn,它也包含了自己的React版本(出于某种原因)。
安装完成后(即使再次卸载),仍会出现此错误。
我只是删除了node_modules并再次运行npm install,它工作了。
我在流水线上运行时也遇到了同样的问题。
对我来说,问题是我在docker容器中使用的节点版本为v10.0.0。
更新到v14.7.0为我解决了这个问题