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

如何将Supabase与新版Nuxt连接?遇默认导出错误求助

解决Nuxt新版连接Supabase时的Postgrest-js导出错误

问题描述

连接Supabase与新版Nuxt时出现以下错误:

Uncaught SyntaxError: The requested module 'http://localhost:3001/_nuxt/@fs/home/bobak/codehub/nuxt-mastering/node_modules/.pnpm/@supabase+postgrest-js@1.16.3/node_modules/@supabase/postgrest-js/dist/cjs/index.js?v=25186966' doesn't provide an export named: 'default'

当前Nuxt配置如下:

// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  // compatibilityDate: '2024-04-03',
  devtools: { enabled: true },
  modules: ['@nuxtjs/supabase','@nuxt/ui', '@nuxtjs/google-fonts',],
  
  googleFonts: {
    families: {
      Poppins: [400, 500, 700]
    }
  },
  supabase: {
    redirectOptions: {
      login: 'auth/login',
      callback: '',
      exclude: ['/auth/*']
    }
  },
  app: {
    head: {
      title: 'Bobak News'
    }
  }
})

解决方案

1. 升级@nuxtjs/supabase模块

错误根源在于@supabase/postgrest-js v1.16.3的CommonJS格式与Nuxt 3的ES模块体系不兼容,且该版本无默认导出。升级@nuxtjs/supabase到最新版,会自动同步依赖的Supabase相关包到兼容版本:

pnpm upgrade @nuxtjs/supabase --latest

2. 清除缓存并重启服务

清理Nuxt缓存和pnpm模块缓存,避免旧版本残留:

pnpm nuxt clean && pnpm dev

3. 修正代码中的导入方式(若存在)

如果你的业务代码中直接导入了@supabase/postgrest-js,确保使用命名导入而非默认导入:
错误示例:

import postgrest from '@supabase/postgrest-js'

正确示例:

import { PostgrestClient } from '@supabase/postgrest-js'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:49:57