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

NextAuth集成Firebase适配器报错:Cannot use import statement outside a module

NextAuth + Firebase Adapter 报错:SyntaxError: Cannot use import statement outside a module

我在Next.js项目中使用NextAuth结合Firebase Adapter时,持续遇到模块导入错误,尝试调整配置后问题反而更复杂,希望得到可行的解决办法。

Firebase配置文件(config/firebase.ts)

import { getFirestore } from "firebase/firestore";

export const firebaseConfig = {
  apiKey: process.env.FIREBASE_API_KEY,
  authDomain: process.env.FIREBASE_AUTH_DOMAIN,
  projectId: process.env.FIREBASE_PROJECT_ID,
  storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.FIREBASE_APP_ID,
  measurementId: process.env.FIREBASE_MEASUREMENT_ID,
};

// Initialize Firebase
const firebaseApp = initializeApp(firebaseConfig);

export const firebaseStore = getFirestore(firebaseApp);

NextAuth配置文件(pages/api/auth/[...nextauth].ts)

import GoogleProvider from "next-auth/providers/google";
import { FirestoreAdapter } from "@next-auth/firebase-adapter";
import { firebaseConfig } from "../../../config/firebase";

export const authOptions = {
  providers: [
    GoogleProvider({
      clientId: process.env.FIREBASE_AUTH_GOOGLE_CLIENT_ID!,
      clientSecret: process.env.FIREBASE_AUTH_WEB_CLIENT_SECRET!,
    }),
  ],
  adapter: FirestoreAdapter(firebaseConfig),
};

export default NextAuth(authOptions);

报错信息

Error - H:\JS\ktest\node_modules\@next-auth\firebase-adapter\dist\index.js:1
import { initializeApp } from "firebase/app";
^^^^^^

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)
    at @next-auth/firebase-adapter (H:\JS\ktest\.next\server\pages\api\auth\[...nextauth].js:22:18)
    at __webpack_require__ (H:\JS\ktest\.next\server\webpack-api-runtime.js:33:42)

已尝试的方案

  • 修改package.json添加"type": "module",但引发更多连锁错误,显然不是合理的解决方式。

我已经在这个问题上卡了很久,网上没找到有效的解决办法,求各位帮忙。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:30:47