Warum sind meine Umgebungsvariablen bei der Bereitstellung in AWS undefiniert?
P粉008829791
P粉008829791 2024-03-28 19:58:03
0
1
430

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粉008829791
P粉008829791

Antworte allen(1)
P粉916553895

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage