我希望Angular应用程序能够访问Docker环境变量,同时仍然能够执行热重载。
使用@ angular-builders / custom-webpack和@ angular-builders / dev-server根本没有帮助。
dotenv显然不适用于Angular(仅适用于Node应用程序)。
==============================
这是我的Dockerfile:
FROM node:12.10.0 ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' RUN apt-get update && apt-get install -yq google-chrome-stable WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH ENV API_BASE=${API_BASE} COPY package.json /app/package.json RUN npm install RUN npm install -g @angular/cli@8.0.2 COPY . /app EXPOSE 4200 49153 CMD ng serve --host 0.0.0.0
这是我的docker-compose.yml文件:
version: '3.7' services: web: container_name: myapp-fe-container build: context: . dockerfile: Dockerfile image: myapp-fe-image volumes: - '.:/app' - '/app/node_modules' ports: - '4200:4200' - '49153:49153' environment: - CHOKIDAR_USEPOLLING=true
我需要根据其运行环境将api端点传递给docker-compose.yml。有什么建议吗?