You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo(SDK 51)中expo-router/entry.js无法识别app/_layout.tsx求助

Expo Router 无法识别 _layout.tsx,自动生成的 index.tsx 修改无效

我使用Expo默认模板开发项目已有一周,一直以app目录下的_layout.tsx作为入口组件,代码如下:

import { Stack } from "expo-router";
import { StatusBar } from "expo-status-bar";
import { LogBox } from "react-native";

LogBox.ignoreAllLogs(true);

const RootLayout = () => {
  return (
    <>
      <StatusBar style="light" />
      <Stack>
        <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
      </Stack>
    </>
  );
}

export default RootLayout;

昨日启动Metro Server时,Expo在app目录自动生成了index.tsx文件,启动后显示默认的Hello World界面。修改该index.tsx文件无任何效果,且找不到该界面的组件代码,疑似expo-router/entry.js未识别我的_layout.tsx或新生成的index.tsx。

以下是我的package.json信息:

{"name": "testproject",
  "main": "expo-router/entry",
  "version": "1.0.0",
  "scripts": {
    "start": "expo start",
    "reset-project": "node ./scripts/reset-project.js",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "lint": "expo lint"
  },
  "dependencies": {
    "@expo/vector-icons": "^14.0.2",
    "@react-navigation/native": "^6.1.18",
    "@react-navigation/native-stack": "^6.11.0",
    "@react-navigation/stack": "^6.4.1",
    "axios": "^1.7.7",
    "expo": "~51.0.28",
    "expo-constants": "~16.0.2",
    "expo-device": "^6.0.2",
    "expo-document-picker": "~12.0.2",
    "expo-file-system": "~17.0.1",
    "expo-font": "~12.0.9",
    "expo-linking": "~6.3.1",
    "expo-router": "~3.5.23",
    "expo-splash-screen": "~0.27.5",
    "expo-status-bar": "~1.12.1",
    "expo-system-ui": "~3.0.7",
    "expo-web-browser": "~13.0.3",
    "firebase": "^11.0.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "0.74.5",
    "react-native-dotenv": "^3.4.11",
    "react-native-gesture-handler": "~2.16.1",
    "react-native-reanimated": "~3.10.1",
    "react-native-safe-area-context": "4.10.5",
    "react-native-screens": "3.31.1",
    "react-native-web": "~0.19.10"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@types/react": "~18.2.45",
    "@types/react-native": "^0.72.8",
    "@types/react-test-renderer": "^18.0.7",
    "react-test-renderer": "18.2.0",
    "typescript": "~5.3.3"
  },
  "private": true
}

我已尝试的解决方法:

  • 执行expo start -c清除缓存
  • 在app.json中指定entryPoint:
    {"expo": {
        "entryPoint": "./app/_layout.tsx"
      }
    }
    
  • 将_layout.tsx重命名为_app.tsx或index.js
  • 参考Expo Router v3无法识别自定义入口文件中_layout.tsx的相关问题但未解决

内容的提问来源于stack exchange,提问作者ArmandPret-OW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:52:07