在博览会上的“npm runeject”之后无法运行 react-native 应用程序
Posted
技术标签:
【中文标题】在博览会上的“npm runeject”之后无法运行 react-native 应用程序【英文标题】:Cant run react-native app after 'npm run eject' on expo 【发布时间】:2019-04-15 00:45:07 【问题描述】:我通过执行命令创建了一个react项目
展会初始化
(创建了一个空白项目) 我在安卓模拟器上运行了这个(效果很好)
我想退出世博会,因为我有一些自定义代码。 所以我执行了
npm 运行弹出
一切顺利,然后我执行了
react-native run-android
在安卓模拟器上打开应用
我收到以下错误
PS C:\mobileApp\one> react-native run-android C:\mobileApp\one\node_modules\react-native\local-cli\core\index.js:128 function getCliConfig()var cliArgs,config,expoAssetPluginPath;return regeneratorRuntime.async(函数 getCliConfig$(_context)while(1)switch(_context.prev=_context.next)case 0:^
ReferenceError:regeneratorRuntime 未在 getCliConfig 中定义 (C:\mobileApp\one\node_modules\react-native\local-cli\core\index.js:128:64) 在对象。 (C:\mobileApp\one\node_modules\react-native\local-cli\core\index.js:181:30) 在 Module._compile (internal/modules/cjs/loader.js:688:30) 在 模块._compile (C:\mobileApp\one\node_modules\pirates\lib\index.js:83:24) 在 Module._extensions…js (internal/modules/cjs/loader.js:699:10) 在 Object.newLoader [as .js] (C:\mobileApp\one\node_modules\pirates\lib\index.js:88:7) 在 Module.load (internal/modules/cjs/loader.js:598:32) at tryModuleLoad (internal/modules/cjs/loader.js:537:12) 在 Function.Module._load (internal/modules/cjs/loader.js:529:3) 在 Module.require (内部/模块/cjs/loader.js:636:17) PS C:\mobileApp\one>
请帮忙
【问题讨论】:
您是否尝试过重启 Metro bundler? 像文档建议的那样,在全新的 expo init 项目中遇到同样的问题。你有没有想过如何解决这个问题?似乎最新版本无法正常工作。我想我会尝试以前的版本。 无法修复,开始使用 react-native-cli (npmjs.com/package/react-native-cli) 【参考方案1】:我删除了 node_modules,像这样编辑了 package.json
和 .babelrc
。它在重新安装 npm 模块后工作。
"name": "app",
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
,
"dependencies":
"react": "16.6.1",
"react-native": "0.57.5",
,
"devDependencies":
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.2",
"react-test-renderer": "16.6.1"
,
"jest":
"preset": "react-native"
babel.config.js 需要替换成 .babelrc
"presets": ["module:metro-react-native-babel-preset"]
【讨论】:
以上是关于在博览会上的“npm runeject”之后无法运行 react-native 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
如何在由 create-react-app 创建的应用程序中使用 jsx 文件(不运行“npm runeject”)?