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

将带Postgres的Nuxt应用部署至Cloudflare失败求助

Nuxt(Nitro)+ Kysely + Cloudflare Pages 构建错误问题

我有一个基于Supabase的Nuxt应用,已部署在Cloudflare上且运行正常。现在尝试切换至Kysely以更好地控制数据库迁移,Postgres方言依赖pg或postgres模块,二者在本地均可正常工作。但将变更部署至Cloudflare时,构建预渲染阶段出现错误:

使用postgres模块时的错误信息

[error] [nitro] Error: Cannot resolve "cloudflare:sockets" from "/opt/buildhome/repo/node_modules/postgres/cf/polyfills.js" and externals are not allowed!

使用pg模块时的错误信息

Cannot resolve "pg-native" from "/home/dave/projects/nuclearambitions/won-on-nuxt/node_modules/pg/lib/native/client.js" and externals are not allowed!

已尝试的无效方案

针对pg模块的问题,我尝试通过以下Vite配置排除pg-native,但未生效:

vite: {
  build: {
    rollupOptions: {
      external: ['pg-native'],
    },
  },
},

疑问

  • Nuxt(Nitro)、Postgres、Cloudflare的组合是否不可行?
  • 有没有正确的Vite构建排除外部依赖的方法?

补充:本地使用Cloudflare预设构建时也会触发该错误,nuxt.config.ts相关配置如下:

nitro: {
  preset: 'cloudflare-pages',
},

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:46:00