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
相关产品推荐
相关产品推荐

