为什么我的环境变量在部署到 AWS 时未定义?
P粉008829791
P粉008829791 2024-03-28 19:58:03
0
1
403

我目前正在开发一个 vue 应用程序。我在名为 "config.ts" 的文件中设置环境变量,其中包含类似于以下代码的代码:

export const configs = {
  baseURL:
    process.env.VUE_APP_API_BASEURL ||
    'http://test.api.co/',
}

我在本地使用 .env 测试了环境变量,如下所示

VUE_APP_API_BASEURL=https://test2.api.com

而且效果很好。

然后我使用 Dockerfile 对应用程序进行了 docker 化,如下所示:

FROM private_image_container/node:v16 as build-stage

# declare args
ARG VUE_APP_API_BASEURL

# set env variables
ENV VUE_APP_API_BASEURL=$VUE_APP_API_BASEURL
RUN echo "VUE_APP_API_BASEURL=$VUE_APP_API_BASEURL" > .env
WORKDIR /app
COPY package.json ./
COPY yarn.lock ./
RUN yarn
COPY . .
RUN yarn build

# production stage
FROM private_image_container/nginx:latest as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

部署应用程序时,即使在任务定义中定义了变量,也看不到这些变量。

P粉008829791
P粉008829791

全部回复(1)
P粉916553895

所以我遇到了这个问题,因为我们的 DevOp 人员坚持认为我们有运行时环境变量。

我开发的解决方案是编写一个 bash 脚本,该脚本注入一个脚本以将配置附加到窗口对象,使其可以作为运行时访问。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板