我之前在Vercel上部署了我的应用程序,但由于我在Azure上使用Azure AD和MongoDB,我也将应用程序的托管转移到Azure上,以减少网络延迟。
我在生产环境中的配置-〉应用程序设置下设置了所有的环境变量,私有变量(例如客户端密码)完全可以被我的Next.js后端读取,但我的前端无法读取以NEXT_PUBLIC为前缀的环境变量,尽管这在我之前在Vercel和Google Cloud Platform上的其他项目中是有效的。
将公共环境变量(NEXT_PUBLIC_*)输出到控制台将返回undefined
。
如何区分全栈和服务器端环境变量?因为NEXT_PUBLIC似乎不起作用。
1条答案
按热度按时间bqucvtff1#
我找到了一个变通方法,在
build_and_deploy_job
-〉steps
下,添加一个名为env
的字段,在这个字段下,可以像这样放置环境变量:你可以找到我完整的.yml文件here。
我想表达的事实是,这是一个次优的解决方案,对于微软这样一家数十亿美元的公司来说,你应该能够通过Azure门户网站将公共/客户端环境变量直接放置在你的静态Web应用程序中。