【发布时间】:2021-08-10 16:32:29
【问题描述】:
在 NextJS 中,您必须将 NEXT_PUBLIC_ 添加到 env 变量以使它们对浏览器可用,但“next-auth”只接受像 NEXTAUTH_URL 这样的硬编码变量,有没有办法解决这个问题?
【问题讨论】:
在 NextJS 中,您必须将 NEXT_PUBLIC_ 添加到 env 变量以使它们对浏览器可用,但“next-auth”只接受像 NEXTAUTH_URL 这样的硬编码变量,有没有办法解决这个问题?
【问题讨论】:
以NEXT_PUBLIC_ 为前缀的环境变量将内联在应用程序包中。 NEXTAUTH_URL 未在捆绑包中使用。 API 路由使用它来处理重定向 URL。这意味着您必须在 Vercel 中定义它。
【讨论】:
.env.local 文件中定义它们,如下所示nextjs.org/docs/basic-features/…
module export 并在进行更改后重新启动,但仍然不断收到此错误 warnings#nextauth_url NEXTAUTH_URL environment variable not set
.env.local 而不是 next.config.js 解决了这个问题。即使next.config.js 与其他环境变量一起使用,它似乎也不适用于NEXTAUTH_URL。这个问题也与NEXT_PUBLIC_ 无关,因为我没有将它添加到NEXTAUTH_URL 并且该应用程序现在正在运行,这是有道理的,因为您实际上不需要将NEXTAUTH_URL 暴露给浏览器
NEXTAUTH_URL,或者我可以在构建时将其未定义并仅在运行时设置?