我的应用程序在VPS上运行,使用Docker Compose。我在文件目录中有一个.env文件,与docker-compose.yml在同一级别。
在我的docker-compose中,我设置环境变量如下:
在我的docker-compose中,我设置环境变量如下:
当我在本地运行应用程序时,一切都正常,但是在部署的应用程序中出现了问题:
我只能在服务器端的getServerSideProps函数中访问变量。然而,在客户端上(我试图访问以NEXT_PUBLIC_开头的变量),我得到了未定义的结果。
我的解决方法是将我需要的环境变量的值从getServerSideProps传递给我的页面作为props,但这非常不方便,肯定不是正确的解决方案。
您知道是什么原因导致了这个问题吗?
此外,在VPS上,当我检查NextJS应用程序的容器(docker exec -it ...)时,我键入“env”,我看到环境变量都在那里,所以我不明白为什么它们没有被客户端接收。