我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
当前回答
就我而言,这是因为我(一度)安装了reactn,它也包含了自己的React版本(出于某种原因)。
安装完成后(即使再次卸载),仍会出现此错误。
我只是删除了node_modules并再次运行npm install,它工作了。
其他回答
当运行无参数的react-native bundle命令时,也会出现非常类似的错误(误导)。
为成功运行提供——entry-file和——bundle-output:
react-native bundle --entry-file ./index.js --bundle-output ./index.jsbundle
如果您在package中添加了一个包。Json,然后你删除了它。记住要删除添加在/config/plugin.js或任何与该包相关的地方的任何配置。
运行npm i react-dev-utils@10.0.0解决了我的问题。
如果您弹出并感到好奇,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回购同步(并获得它们所有最新的增强!)
如果您有一个弹出的CRA, webpack-dev-server配置有一些更改,如果保持不变将抛出此错误。比较刚弹射出来的cra4。x配置到我的cra3。X配置显示了对函数的一些更改,这些函数以前不接受参数,现在接受了。
在我的例子中,一个突破性的变化是添加了通往noopServiceWorkerMiddleware函数的路径。添加在缺失的路径noopServiceWorkerMiddleware(paths.publicUrl)为我修复了这个问题。