如何使用 Next.js 访问 Google Cloud Run 中的 ENV 变量

mus*_*usk 7 cloud environment next.js google-cloud-run

我正在使用 Nextjs,我正在云运行上部署我的应用程序。

我在本地主机中使用命令 process.env.VARIABLE_NAME ,效果很好,我确保 .env 位于 gitignore 中,这样它就不会被上传。

但是,然后我使用 google cloud run 部署我的应用程序...我确保转到“环境”选项卡并添加与 .env 文件中完全相同的变量。但无法通过process.env获取环境变量

Luc*_*ves 5

我在尝试访问 Cloud Run 中的 NEXT_PUBLIC 环境时遇到了同样的问题,因此在搜索时我发现了 3 种可能的解决方案:

  1. 使用 getServerSideProps 获取环境变量并放入客户端,这有效,因为在我的情况下,环境出现在服务器中,只是在客户端中我无法获取它。
  2. 在 dockerFile 中声明 ENV 并在构建过程中传递它,就像Nextjs 应用程序中的 Consume Cloud Run 环境变量建议的那样
  3. 使用像react-env这样的外部库,如NextJS - 如何获取运行时环境变量中的建议