suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Warum sind meine Umgebungsvariablen bei der Bereitstellung in AWS undefiniert?

Ich entwickle derzeit eine Vue-Anwendung. Ich habe Umgebungsvariablen in einer Datei namens "config.ts" festgelegt, die Code ähnlich dem folgenden enthält:

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

Ich habe die Umgebungsvariablen lokal mit .env getestet, wie unten gezeigt

VUE_APP_API_BASEURL=https://test2.api.com

Und es funktioniert großartig.

Ich habe die Anwendung dann mit einer Docker-Datei wie dieser angedockt:

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;"]

Beim Bereitstellen der Anwendung sind die Variablen nicht sichtbar, selbst wenn sie in der Aufgabendefinition definiert sind.

P粉008829791P粉008829791283 Tage vor455

Antworte allen(1)Ich werde antworten

  • P粉916553895

    P粉9165538952024-03-29 17:15:12

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

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

    Antwort
    0
  • StornierenAntwort