You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Expo Router 52无法检测app目录下部分文件及目录问题求助

Expo Router SDK 52 无法检测部分文件/目录的排查方向
  • 文件/目录命名违规
    Expo Router的文件路由有严格的命名规则,直接导致无法识别的情况包括:

    • 文件名/目录名包含空格、特殊字符(仅允许_-.
    • ._开头的文件/目录会被标记为私有,不会生成路由
    • 大小写不匹配(部分系统大小写敏感,路由路径会严格区分)
      检查payments目录和users内未识别文件的命名是否符合要求。
  • 缓存未彻底清除
    重启VS Code没用的话,试试彻底清理Expo缓存:

    • 执行命令:npx expo start --clear,强制清除缓存后重启项目
    • 手动删除项目根目录下的.expo文件夹,再重新启动
  • 文件扩展名错误
    确认未被识别的文件扩展名是否正确:

    • Expo Router仅将.js.jsx.ts.tsx视为路由页面文件
    • 如果是其他扩展名(比如.txt.md),不会被纳入路由体系
  • 项目配置文件异常
    检查app.jsonapp.config.js

    • 确认expo字段下没有自定义的assetBundlePatterns或路由相关配置,导致部分目录被排除扫描
    • 确保scheme等路由相关配置没有冲突
  • 嵌套路由结构不符合规则
    Expo Router对嵌套路由的结构有要求:

    • 确保payments目录直接在app根目录下,而非嵌套在非路由目录内
    • 如果users内的文件是子路由,父目录users需要有对应的_layout.jsx/_layout.tsx文件,否则子路由无法被识别
  • SDK版本兼容性Bug
    SDK 52属于较新版本,可能存在已知问题:

    • 尝试更新Expo Router到最新兼容版本:npm install expo-router@latest
    • 查看Expo官方GitHub Issues,确认是否有相同的未识别目录/文件问题

内容的提问来源于stack exchange,提问作者Raul Hernandez

火山引擎 最新活动