javascript - ngbuild根据环境改变占位符
问题描述
我有一个 Angular 5 项目。为了部署要部署的包,我使用了 NG BUILD 命令。但是,我有一些占位符需要根据环境进行相应更改。例如,我有一个配置文件占位符。对于 PROD,我需要将值更改为http://blablabla.com,并将 TEST 环境更改为http://localhost。我确定如果使用 NG BUILD 我可以做到。
解决方案
在您的项目 Angular 5 中,您有一个目录“环境”,如下图所示,其中包含 2 个文件:
environment.ts:此文件导出一个常量 JSON 对象环境。如果您在 Angular 项目中引用环境对象属性,则在开发模式期间,即 ng serve 或 ng build 应从此文件中读取所有值。
environment.prod.ts:此文件导出相同的 JSON 对象,并且应具有与 environment.ts 文件相同的属性。在这种情况下,当您使用 ng build --prod 为生产模式构建应用程序时, environment.ts 文件的所有值都将被 environment.prod.ts 文件覆盖。
将开发 HTTP Url 放在 environment.ts 文件中
export const environment = {
production: false,
baseUrl: 'https://fakerestapi.com/api'
};
将生产 HTTP Url 放入 environment.prod.ts 文件中:
export const environment = {
production: true,
baseUrl: 'https://production.com/api'
};
在 Angular 应用程序的其余部分,请参阅 environment.baseUrl
import { environment } from '../environments/environment';
@Injectable()
export class ClientService {
baseUrl = environment.baseUrl;
constructor(private httpClient: HttpClient) { }
getClients(): Observable<Client[]> {
return this.httpClient.get<Client[]>(`${this.baseUrl}/clients`);
}
}
我希望我对你有所帮助。
推荐阅读
- python - 如何将 sklearn 的 SimpleImputer 中不同类型的缺失值合并为一个
- android - 用户单击 EditText 时如何禁用软键盘显示?
- python - 如何在堆积条形图上放弃周末?
- java - 将 Scanner 转换为两个 ArrayList,一个带有 Doubles,一个带有 String
- excel - 如何将 Excel 设置为从 0.90 向下舍入并从 0.91 向上舍入。IE; 5.90 需要显示为 5,5.91 需要显示为 6。谢谢
- python - 转置数据框并提取列值的信息
- php - 从 Select 中获取 Text 值并将值放入标签中
- java - 如何根据嵌套对象属性对列表进行排序
- php - 是否可以在服务器上阻止导航器“编辑并重新发送”POST 请求?
- c++ - 函数模板不起作用,出现错误“没有合适的用户定义的转换”