使用create-t3-turbo模板时Expo无法解析index.ts模块求助
问题:create-t3-turbo模板Expo启动时无法解析index.ts文件
我在试用create-t3-turbo模板,完成依赖安装后执行pnpm dev命令,Expo抛出以下模块解析错误:
Error: Unable to resolve module ./index.ts from C:\Users...\apps\expo/.:
None of these files exist:
- index.ts(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.cjs|.native.cjs|.cjs)
- index.ts\index(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.cjs|.native.cjs|.cjs)
at ModuleResolver.resolveDependency (C:\Users...\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:153:15)
at DependencyGraph.resolveDependency (C:\Users...\node_modules\metro\src\node-haste\DependencyGraph.js:276:43)
at C:\Users...\node_modules\metro\src\lib\transformHelpers.js:171:21
at Server._resolveRelativePath (C:\Users...\node_modules\metro\src\Server.js:1256:12)
at async Server.requestProcessor [as _processBundleRequest] (C:\Users...\node_modules\metro\src\Server.js:529:37)
at async Server._processRequest (C:\Users...\node_modules\metro\src\Server.js:449:9)
已确认apps/expo目录下存在index.ts文件,尝试修改该目录package.json中的main字段但问题未解决,希望确认该问题是否可复现,判断是否属于模板bug。
排查与解决建议
- 清除Metro缓存:在Windows终端执行
pnpm exec metro cache clean,随后重启pnpm dev。Metro缓存可能导致文件存在但未被正确识别。 - 检查Metro配置:查看
apps/expo/metro.config.js,确保resolver.sourceExts数组中包含.ts,保证Metro能解析该扩展名的文件。 - 修复路径兼容性问题:错误信息中出现
index.ts\index这种混合斜杠的路径,可能是Windows系统的路径格式冲突。尝试删除node_modules目录和锁文件(pnpm-lock.yaml),重新执行pnpm install后再启动项目。 - 校验package.json配置:确认
apps/expo/package.json的main字段值为index.ts(或正确的入口文件路径),同时检查index.ts文件名是否存在拼写、大小写问题(尽管Windows不区分大小写,但Metro可能严格校验)。 - 确认模板已知问题:查看该模板的仓库Issue列表,确认是否有其他用户遇到相同问题,判断是否为模板本身的bug。
内容的提问来源于stack exchange,提问作者Daniel Shumaker
相关产品推荐
相关产品推荐

