【发布时间】:2021-01-09 01:13:56
【问题描述】:
我创建了一个使用环境变量的 Next.JS 应用程序。我有需要的环境变量作为系统的环境变量(因为它是一个 dockerized nextjs 应用程序)。
# in terminal
echo $NEXT_PUBLIC_KEY_NAME
# >> value of key
但process.env.NEXT_PUBLIC_KEY_NAME 仅在生产模式下运行时在应用程序中未定义。我怎样才能访问它们?我似乎在 Nextjs 的网站或其他任何地方都找不到关于此的任何文档。
【问题讨论】:
-
你的 Dockerfile 的
CMD是什么?你如何/什么命令运行你的应用程序?如果您将 Next.js 应用程序作为最小服务器启动(下一个启动,节点 server.js ...),您可以在运行命令之前设置 env vars,它不会是未定义的。如果您通过构建和导出静态文件(next build、next export)来启动 Next.js 并在代理后面提供它们,则必须在next build之前设置环境变量
标签: docker environment-variables next.js