use*_*798 5 configuration angular
我想知道Angular 2+中是否可以在某个外部config.json文件中使用我的api网址,并在构建之前加载它们。我之所以这么问,是因为在目前的情况下,我只是将它们定义为服务中的变量,如果要更改URL,必须手动更改代码并重新构建。有了这个配置文件,我正在考虑在那里定义它们,以便如果更改配置属性,则不必每次都重新构建代码。
新的 angular-cli 具有不同环境的概念,如开发 (dev) 和生产 (prod)。
使用 cli ng my-app 创建新应用程序时,/environments 文件夹是包含环境文件的脚手架的一部分。
??? environment.ts
??? environment.prod.ts
Run Code Online (Sandbox Code Playgroud)
在构建 (ng build) 或提供 (ng serve) 应用程序时,会拉取 /environments 中的 environment.{env}.ts 文件并替换 /src/app 中的文件。默认情况下,这是开发人员。
为了获取生产版本,请使用以下命令将环境设置为生产:
#build
$ ng build --environment=production
#shorthand
$ ng b -prod
#serve
$ ng serve --environment=production
#shorthand
$ ng s -prod
Run Code Online (Sandbox Code Playgroud)
示例环境文件
export const environment = {
production: false,
envName: 'qa'
};
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关 ng build 命令的更多信息
例子
export const environment = {
production: false,
apiUrl: 'http://example.com/api'
};
Run Code Online (Sandbox Code Playgroud)
应用组件
import { Component } from '@angular/core';
import { environment } from './environment';
@Component({
moduleId: module.id,
selector: 'myapp-app',
templateUrl: 'myapp.component.html',
styleUrls: ['myapp.component.css']
})
export class MyappAppComponent {
title = 'myapp works!';
environmentName = environment.apiUrl;
}
Run Code Online (Sandbox Code Playgroud)
模板
<h1>
{{title}}
</h1>
<h2>
{{environmentName}}
</h2>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6180 次 |
最近记录: |