expo-router/_ctx.ios.js:第 2 行调用无效:process.env.EXPO_ROUTER_APP_ROOT

问题描述 投票:0回答:1

我正在尝试测试 create-expo-app@latest 但当 npx expo 开始时出现以下错误时它不起作用。

iOS Bundling failed 4326ms node_modules/expo-router/entry.js (929 modules)
error: node_modules/expo-router/_ctx.ios.js: node_modules/expo-router/_ctx.ios.js:Invalid call at line 2: process.env.EXPO_ROUTER_APP_ROOT

enter image description here

我只是按照 https://docs.expo.dev/get-started/create-a-project/ 中的说明进行操作,但失败了。

有一些解决方案,例如在 babel.config 文件中添加 process.env.EXPO_ROUTER_APP_ROOT 或其他内容,但没有任何效果..

我能做什么?这是最简单的示例,但不起作用!

react-native expo
1个回答
0
投票

如果有人遇到此错误,我的解决方案是添加此处提到的 index.js 文件:https://docs.expo.dev/router/reference/troubleshooting/

import { registerRootComponent } from 'expo';
import { ExpoRoot } from 'expo-router';

// Must be exported or Fast Refresh won't update the context
export function App() {
  const ctx = require.context('./app');
  return <ExpoRoot context={ctx} />;
}

registerRootComponent(App);

但我还需要将 package.json 中的 main 更改为“index.js”

"main": "index.js",
© www.soinside.com 2019 - 2024. All rights reserved.