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

Next.js中如何在getServerSideProps中从Firebase获取数据?

解决Next.js getServerSideProps中Firebase Admin SDK的fs依赖错误

问题原因

Firebase Admin SDK依赖的@google-cloud/storage包会引入Node.js核心模块fs,而Next.js在客户端打包阶段会尝试解析这些模块,但浏览器环境不支持fs,因此抛出"Module not found: Can't resolve 'fs'"错误。

解决方案:配置Next.js Webpack忽略客户端的Node核心模块

创建或修改项目根目录下的next.config.js,添加Webpack配置,在客户端构建时将fs等Node核心模块设为空解析:

/** @type {import('next').NextConfig} */
const nextConfig = {
  webpack: (config, { isServer }) => {
    if (!isServer) {
      config.resolve.fallback = {
        ...config.resolve.fallback,
        fs: false,
        path: false,
        os: false,
      };
    }
    return config;
  },
};

module.exports = nextConfig;

额外注意事项

  • 确保你的Firebase Admin SDK初始化代码(即db文件)只在服务器端代码中被引用,不要在客户端组件中直接导入admin.firestore(),避免客户端打包时引入依赖Node模块的代码。
  • getServerSideProps本身是在服务器端运行的,配置后不会影响其对Firebase Admin SDK的正常调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:10:19