我使用的是Angular 16,我有一个特定的场景:我的应用程序将在多台机器上本地运行,每台机器都有不同的IP,这意味着每个服务器的url都是不同的.目前,我从environment.ts中获得这个URL,如下所示:

export const environment = {
    apiUrl: 'http://11.22.33.44:5678/',
};

目前,每次我需要构建应用程序时,我都会手动更改url.我希望通过CLI命令执行此操作.即ng build --configuration=production --serverUrl=http://55.66.77.88:5678/.

这是我的angular.json-production

"configurations": {
  "production": {
    "fileReplacements": [
      {
        "replace": "src/environments/environment.development.ts",
        "with": "src/environments/environment.ts"
      }
    ]
}

我已经阅读了this question个,但它说我需要 for each 场景创建一个环境.它不是完全动态的.

推荐答案

首先,try 将占位符值设置为apiUrl:

export const environment = {
    apiUrl: 'PLACEHOLDER_VALUE',
};

然后,在构建项目时,您可以使用--env选项指定apiUrl环境变量值,如下所示:

ng build --configuration=production --env.apiUrl='YOUR_ACTUAL_API_HERE'

Typescript相关问答推荐

错误:note_modules/@types/note/globals.d.ts:72:13 -错误TS 2403:后续变量声明必须具有相同的类型

如何在不使用变量的情况下静态判断运算式的类型?

Typescript:将内部函数参数推断为子对象键的类型

如何在ts中使用函数重载推断参数类型

SortKey类型不起作用,尽管它使用的单个类型工作正常<>'

异步动态生成Playwright测试,显示未找到测试

如何提取密钥及其对应的属性类型,以供在新类型中使用?

如何使用函数填充对象?

如何重构长联合类型?

从泛型类型引用推断的文本类型

类型推断对React.ForwardRef()的引用参数无效

创建一个TypeScrip对象并基于来自输入对象的约束定义其类型

是否可以在类型脚本中定义条件返回类型,而不在函数体中使用类型转换?

为什么TypeScrip假定{...省略类型,缺少类型,...选取类型,添加&>}为省略类型,缺少类型?

如何从抽象类的静态方法创建子类的实例?

Vite+Chrome扩展 list v3-;不能在模块外使用import语句;对于inpage脚本

是否使用类型将方法动态添加到类?

如何为字符串模板文字创建类型保护

在 next.js 13.4 中为react-email-editor使用forwardRef和next/dynamic的正确方法

如何判断路由或其嵌套路由是否处于活动状态?