【发布时间】:2025-12-20 21:40:12
【问题描述】:
我正在尝试在我的 Next.js 应用程序中使用 npm pg 和 pg-pool。
我是池连接的新手,但我发现每当我的 Next.js 服务器初始化时我都需要建立一个池连接,并且我需要将该连接作为一个模块传递给我的应用程序。
来自 pg-pool 文档:
实例说明
池应该是您应用程序中的长期存在的对象。通常,您需要在应用启动时实例化一个池,并在应用的整个生命周期内使用该池的相同实例。如果您经常在代码中创建新池,则您的池初始化代码可能没有放在正确的位置。
因此,我创建了文件 my-app/lib/db.js 来初始化我的连接,并希望在我需要运行查询时将其传递给我的应用程序。
但是,当我尝试import { Pool } from 'pg'; 时,我收到一个错误:
Module not found: Can't resolve 'fs'
I found this question 现在明白了..
您不能在 Next.js 中间件中使用使用 fs 的 Node.js 库。尝试改用客户端库。
所以,我的问题是,如何在 Next.js 服务器节点上启动 postgres-pool 连接并通过它路由所有查询?我需要使用不同的包吗?真的不知道在 Next.js 架构中放置它的什么位置。
【问题讨论】:
标签: node.js postgresql next.js node-pg-pool