tsconfig设baseUrl为'./src'后绝对路径失效,Metro报错求助
React Native Metro 绝对路径配置报错的常见修复方案
同步Metro配置文件
React Native的Metro不会自动识别tsconfig的baseUrl,得手动在metro.config.js里添加路径解析配置:const path = require('path'); module.exports = { resolver: { extraNodeModules: { src: path.resolve(__dirname, './src'), }, }, watchFolders: [path.resolve(__dirname, './src')], // 保留你原有Metro配置的其他内容 };检查tsconfig的paths映射(如果用到别名)
要是你在tsconfig里配了paths别名,比如@/*,得确保配置正确:{ "compilerOptions": { "baseUrl": "./src", "paths": { "@/*": ["*"] } } }同时Metro配置里也要对应添加这个别名的映射,把上面代码里的
src换成@即可。彻底清除缓存重启服务
缓存经常是配置不生效的元凶,执行以下命令清缓存后重启:npx react-native start --reset-cache rm -rf node_modules && npm install核对导入路径拼写
确认app.ts和MainTabs.ts里的绝对路径拼写无误,比如要写import Button from 'components/Button',而不是带相对路径的./components/Button,确保和baseUrl的路径规则匹配。验证项目结构匹配
检查你的src文件夹确实在项目根目录下,和tsconfig里baseUrl: './src'的路径指向完全一致,没有层级错误。
内容的提问来源于stack exchange,提问作者jrs
相关产品推荐
相关产品推荐

