You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决React Native添加Firebase后出现Cannot use import statement outside a module错误

解决方案

  1. 先删除package.json中你新增的"type": "module"配置,Expo + React Native 环境默认使用CommonJS打包逻辑,该配置会和默认规则冲突,反而触发模块解析报错。
  2. 替换你的babel.config.js为如下配置:
module.exports = function(api) {
  api.cache(true);
  return {
    presets: ["babel-preset-expo"],
    env: {
      test: {
        plugins: ["@babel/plugin-transform-runtime"],
      },
    },
    overrides: [{
      test: /node_modules\/@react-native-firebase/,
      sourceType: "unambiguous"
    }]
  };
};

如果运行后提示找不到babel-preset-expo,执行npm install babel-preset-expo --save-dev安装对应依赖即可。你之前使用的@babel/preset-env、@babel/preset-react对Expo环境适配性不如官方维护的babel-preset-expo,替换后可避免很多适配问题。
3. 清除所有打包缓存后重启项目,执行命令npx expo start --clear,确保新配置完全生效,不会被旧缓存覆盖。
4. 若以上操作完成后仍有报错,检查你安装的@react-native-firebase版本是否与当前Expo SDK版本匹配:Expo SDK 48对应v17+版本,SDK 49对应v18+版本,SDK 50对应v19+版本,版本不匹配也会触发模块解析异常。

内容的提问来源于stack exchange,提问作者On the way to success

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:48:01