You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 8指定configuration构建时环境文件替换未生效

问题根因

你的自定义环境替换规则完全没有生效,核心是两个错误导致Angular CLI没有读取到你在angular.json中配置的internalprod构建规则:

  • 执行命令的工作目录错误:你cd进入src目录后执行构建,Angular CLI会从当前目录向上查找angular.json配置文件,进入src后无法定位到根目录下你配置了文件替换规则的配置文件,只会回退到默认的开发环境构建逻辑,不会触发你写的internalprod对应的替换规则。
  • 构建命令语法错误:你写的npm run ng build --configuration=internalprod存在语法问题,npm run 后只能跟package.json中scripts块定义的脚本名称,npm run ng build会被npm识别为尝试运行名为ng build的脚本,而非执行ng命令加build参数;同时npm脚本透传参数需要加--分隔符,你写的参数根本没有传给底层的Angular构建进程。
修复步骤

按顺序调整即可:

  1. 切回项目根目录执行命令:回到存放angular.json、package.json的一级目录,不要在src目录下执行构建命令。
  2. 使用正确的构建命令,二选一即可:
    • 若你全局安装了Angular CLI,直接执行:
      ng build --configuration=internalprod
      
    • 若要使用项目本地安装的Angular CLI,先确认package.json的scripts块中存在"build": "ng build"配置,再执行:
      npm run build -- --configuration=internalprod
      
  3. (可选校验)如果改完上述两点仍不生效,全局搜索项目中所有引入environment的代码,确认导入路径统一指向src/environments/environment.ts,不要写死导入其他环境文件,正确导入示例:
    import { environment } from '../environments/environment';
    

重新执行构建后,再检查dist目录下的产物,environmentName就会正确替换为你在environment.InternalProd.ts中配置的值。

内容的提问来源于stack exchange,提问作者Georgi Koemdzhiev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 10:57:19