SuperAPI AI 工具集

angular-runtime-env-vars

部署与运维

查看项目

更新于 10-15 21:49

技能介绍

用途:让 Angular 预渲染/静态应用在运行时读取环境变量,而不是在构建时把值写死,尤其面向 Azure App Service 部署。

主要能力:检测当前运行时配置的加载方式(window.__...、assets/runtime-config.js、environment*.ts、index.html 脚本顺序);在服务启动时把环境变量注入运行时配置文件;为运行时配置文件设置 no-cache 头,避免旧值被缓存复用;校验 Azure App Service Linux 启动命令与环境变量键名是否对齐;同步更新文档使部署行为与实现一致。

使用方式:前端约定 src/assets/runtime-config.js 定义全局对象,如 window.APP_RUNTIME_CONFIG = { apiUrl: '#{API_URL}#' },Angular 环境从该全局读取,index.html 在主包之前加载它。服务端在 server.js 中定位已部署的 assets/runtime-config.js,从 process.env 读取变量,替换目标键(即使占位符已被替换过也要覆盖),在响应请求前写回文件并记录足够日志。对 /assets/runtime-config.js 设置 Cache-Control: no-store, no-cache, must-revalidate、Pragma: no-cache、Expires: 0,其他静态资源可保持常规缓存。Azure 侧需确认启动命令指向正确的 server.js、应用设置键名与代码一致、改环境变量后重启应用、解析后的 dist 路径中存在该文件。

适用场景:前端功能开关、把变量改为环境变量、判断变量应在 CI 烘焙还是 App Service 设置、修改环境变量后 API URL 仍旧、runtime-config.js 仍是旧值、Azure 上 Angular 预渲染环境变量策略、无需重新构建支持多环境变量。

限制:资料未提供具体版本、依赖、价格或平台支持范围;默认工作模式为直接改代码并给出 Azure 验证步骤,除非用户要求仅分析。