无数据库连接构建
无数据库连接构建
在生产环境中构建网站时(特别是使用 Docker 时),最常见的问题之一就是数据库连接需求。
需要注意的是,Payload 本身并没有这个要求,但如果你启用了 Next.js 的 SSG(这是默认设置,除非你主动禁用或使用了 Dynamic API)并且使用了 Payload Local API,那么就需要数据库连接。
解决方案:
使用 Next.js 实验性构建模式标志
你可以运行 pnpx next build --experimental-build-mode compile
命令来构建 Next.js,这样只会编译代码而不进行静态生成,因此不需要数据库连接。在这种情况下,你的页面将会动态渲染,但之后当你拥有数据库连接时,仍然可以使用 pnpx next build --experimental-build-mode generate
命令生成静态页面。
禁用 SSG
你可以通过在所有的路由段文件中添加以下代码来禁用 SSG:
export const dynamic = 'force-dynamic'
请注意这会禁用静态优化,你的网站会变慢。 更多信息请参考 Next.js 文档