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

