前端应用频繁改配置,每次都重新打镜像很蠢。这篇聊几种配置注入方式。
最近和一个团队合作,看到他们用 Node 起了个 BFF 层,结合 K8s 注入配置。研究了一下主流方案,整理成两类:构建时注入和运行时注入。
构建时注入
配置在构建镜像时就固定了。灵活性差,但实现简单。
环境变量注入
Dockerfile 示例:
FROM node:20-alpine AS build-stage
WORKDIR /app
COPY . .
# 使用不同的 Vite 模式
ARG VITE_MODE=production
RUN pnpm run build:${VITE_MODE}
CMD ["node", "server/index.js"]
