為什麼我的環境變數在部署到 AWS 時未定義?
P粉008829791
P粉008829791 2024-03-28 19:58:03
0
1
347

我目前正在開發一個 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 腳本,該腳本注入一個腳本以將配置附加到視窗對象,使其可以作為運行時存取。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!