模拟器启动项目报错export * as default from './Animated'如何解决
报错修复方案
export * as default from './Animated';语法报错的核心原因是项目JS转译链路不支持ES2020标准的命名空间导出语法,该问题高发于React Native项目,通常由metro打包器/babel预设版本过低、第三方依赖未做低版本语法兼容导致,按以下步骤操作即可修复:
- 安装缺失的babel转译插件
在项目根目录根据所用包管理工具执行对应安装命令:
npm环境执行:npm install @babel/plugin-proposal-export-namespace-from --save-dev
yarn环境执行:yarn add @babel/plugin-proposal-export-namespace-from -D - 调整babel配置
打开项目根目录的babel.config.js文件,在plugins配置数组中新增刚安装的插件,参考配置如下:module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: [ '@babel/plugin-proposal-export-namespace-from' // 原有已配置的插件保持不变,无需删除 ] }; - 清理缓存重启服务
原生React Native项目执行命令清理metro打包缓存后重新启动:npx react-native start --reset-cache
Expo管理的项目执行对应清缓存启动命令:expo start -c
若上述操作完成后仍存在报错,检查项目内
react-native-reanimated依赖版本,若版本低于2.2.0,直接升级至稳定版即可,旧版本该依赖本身存在低版本转译兼容问题。
内容的提问来源于stack exchange,提问作者Diar Omar
相关产品推荐
相关产品推荐

