已安装全部依赖仍遇node_modules/expo/AppEntry.js: [BABEL]报错,如何解决?
解决Expo项目中
node_modules/expo/AppEntry.js的BABEL报错问题 我瞅了下你的package.json配置,发现几个很可能触发这个BABEL报错的关键点,咱们一步步来搞定:
1. 先解决Babel版本冲突问题
你在dependencies里装了babel@6.23.0,但devDependencies里却是@babel/core@~7.9.0——这俩版本完全不兼容啊!Expo SDK39依赖的是Babel 7系列,旧版的babel包会干扰新的Babel核心工作。赶紧把它删掉:
npm uninstall babel # 如果你用yarn的话就执行这个 yarn remove babel
2. 检查你的Babel配置文件
因为你用到了babel-plugin-module-resolver和react-native-dotenv这两个插件,得确保你的babel.config.js(或者.babelrc)配置正确,尤其是必须包含Expo官方的预设,不然肯定会报错。给你个参考配置:
module.exports = function(api) { api.cache(true); return { presets: ['babel-preset-expo'], // 这个是核心,不能少! plugins: [ ['module:react-native-dotenv'], ['module-resolver', { root: ['./src'], extensions: ['.js', '.jsx', '.ts', '.tsx'], alias: { // 要是你有路径别名,就在这里加,没有就留空 } }] ] }; };
3. 清理缓存+重装依赖
有时候缓存会搞出各种奇怪的问题,咱们彻底清一遍:
- 先删掉
node_modules和锁文件:rm -rf node_modules package-lock.json yarn.lock - 重新安装依赖:
npm install # yarn用户执行 yarn install - 最后用清除缓存的方式启动Expo:
expo start -c
4. 验证主入口配置
你的main字段设置为node_modules/expo/AppEntry.js,这在Expo SDK39里是完全正确的默认配置,不过可以确认下项目根目录有没有自定义的App.js/App.tsx文件,要是有的话,确保Expo能正确识别它(不过一般默认会优先读取这个,不会影响AppEntry.js的)。
按这几步操作完,重新启动项目应该就能解决这个BABEL报错了。要是还不行,把具体的错误提示内容贴出来,我再帮你精准排查~
内容的提问来源于stack exchange,提问作者Hvaandres
相关产品推荐
相关产品推荐

