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

Firebase导入报错:SyntaxError: Cannot use import statement outside a module

问题原因及解决方案

这个错误的核心原因是Node.js默认使用CommonJS模块系统,你混合使用了CommonJS的require()和ES模块的import语法,同时未明确配置项目为ES模块,导致Node.js无法识别import语句。

解决方法二选一:

方法1:统一使用CommonJS语法

把所有ES模块的import替换为CommonJS的require(),同时注意导入Firebase模块的正确写法:

// Initialize Firebase
const functions = require('firebase-functions');
const { initializeApp } = require('firebase/app');
const { getFirestore } = require('firebase/firestore'); // 必须显式导入getFirestore

// 确保已定义firebaseConfig(从环境变量或配置文件中获取均可)
const firebaseConfig = {
  // 你的Firebase项目配置信息
};

const firebaseApp = initializeApp(firebaseConfig);
const db = getFirestore(firebaseApp);

方法2:配置项目为ES模块

  1. 在项目根目录的package.json中添加模块类型配置:
"type": "module"
  1. 将所有require()替换为ES模块的import语法:
// Initialize Firebase
import functions from 'firebase-functions';
import { initializeApp } from 'firebase/app';
import { getFirestore } from 'firebase/firestore';

const firebaseConfig = {
  // 你的Firebase项目配置信息
};

const firebaseApp = initializeApp(firebaseConfig);
const db = getFirestore(firebaseApp);

额外注意点

  • 必须确保firebaseConfig已正确定义,包含apiKey、authDomain等Firebase项目的必要配置项。
  • 若使用Firebase Functions部署,需同步修改functions目录下package.json的模块类型配置(选方法2时)。

内容的提问来源于stack exchange,提问作者Dean Debrio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:35:23