【发布时间】:2020-09-22 16:09:46
【问题描述】:
所以,
- 我正在使用 NUXT
- 我正在部署到谷歌云运行
- 我正在使用带有 .env 文件的 dotenv 包进行开发,它工作正常。
我在 Nuxt 上的开发服务器中使用命令 process.env.VARIABLE_NAME,它运行良好,我确保 .env 在 git ignore 中,这样它就不会被上传。
但是,我随后使用 google cloud run 部署我的应用程序...我确保转到环境选项卡并添加与 .env 文件中完全相同的变量。
但是,变量返回为“未定义”。
我已经尝试了各种方法来解决这个问题,但我唯一能做的就是将我的 .env 与项目一起上传——我不希望这样做,因为 NUXT 在客户端 js 中公开了这个文件。
有人遇到过这个问题并知道如何解决吗?
DOCKERFILE:
# base node image
FROM node:10
WORKDIR /user/src/app
ENV PORT 8080
ENV HOST 0.0.0.0
COPY package*.json ./
RUN npm install
# Copy local nuxt code to the container
COPY . .
# Build production app
RUN npm run build
# Start the service
CMD npm start
亲切的问候, 乔什
【问题讨论】:
-
请附上您的
Dockerfile和一个最小示例,以便我们尝试重现。 -
为你添加了我的 docker 文件!
-
我想补充一点,我尝试过这样做:ENV PL_APP_SECRET=123 和 ENV PL_APP_SECRET 123 在 docker 内但仍然没有运气!
-
你有什么东西可以加载 dotenv 文件并将值写入 env var 吗?如果是这样,这个过程是否清除了所有现有的 env var 是 dotenv 文件不存在?
-
我的 nuxt 配置 .js 顶部有这个? const env = require('dotenv').config() 可以吗?
标签: node.js google-cloud-platform environment-variables nuxt.js google-cloud-run