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

迁移OpenAI Node.js SDK至v4后,Firebase云函数出现import语法错误

解决Firebase Cloud Functions中OpenAI SDK v4迁移的import语法错误

问题场景

将OpenAI Node.js SDK从v3升级到v4后,在Firebase Cloud Functions中混合使用require和import语句,触发以下错误:

import OpenAI from 'openai';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1088:15)
    at Module._compile (node:internal/modules/cjs/loader:1123:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Module.require (node:internal/modules/cjs/loader:1061:19)
    at require (node:internal/modules/cjs/helpers:103:18)

你的代码示例:

const { onRequest } = require("firebase-functions/v2/https");
const { initializeApp } = require('firebase-admin/app');
import OpenAI from 'openai'

const openai = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
});

解决方案

Firebase Cloud Functions默认采用CommonJS模块系统,禁止混合使用CommonJS(require)和ES模块(import)语法,需二选其一统一规范:

方案1:统一使用CommonJS(无需修改项目配置)

将OpenAI的导入语句改为CommonJS兼容格式:

const OpenAI = require('openai').default;

完整修改后代码:

const { onRequest } = require("firebase-functions/v2/https");
const { initializeApp } = require('firebase-admin/app');
const OpenAI = require('openai').default;

const openai = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
});

方案2:切换为ES模块(需修改项目配置)

  1. 在项目根目录的package.json中添加字段:
"type": "module"
  1. 将所有require语句替换为import语法:
import { onRequest } from "firebase-functions/v2/https";
import { initializeApp } from 'firebase-admin/app';
import OpenAI from 'openai';

const openai = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
});
  1. 确保使用最新版Firebase CLI,避免兼容性问题。

原因说明

Node.js在解析模块时,需要明确当前文件是CommonJS还是ES模块。Firebase Cloud Functions默认以CommonJS模式加载文件,此时使用import会触发语法错误;若要使用ES模块,必须通过package.json的type字段声明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:40:17