我正在尝试测试 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
我只是按照 https://docs.expo.dev/get-started/create-a-project/ 中的说明进行操作,但失败了。
有一些解决方案,例如在 babel.config 文件中添加 process.env.EXPO_ROUTER_APP_ROOT 或其他内容,但没有任何效果..
我能做什么?这是最简单的示例,但不起作用!
如果有人遇到此错误,我的解决方案是添加此处提到的 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",