Angular CLI : Change REST API URL on build

标签 angular angular-cli angular-webpack

我想在构建生产环境 (ng build --prod) 时从我的 REST API URL(例如 http://localhost:8080)中删除我的本地服务器前缀。

我知道这与环境文件 environment.prod.ts 有关,但找不到任何使用它们来实现上述目标的示例。

如果有人能帮助我开始,那就太好了!

最佳答案

不要对 URL 进行硬编码。 使用 src/environments 中的 environment.prod.tsenvironment.ts 文件。 对于本地主机,在 environment.ts 文件中使用一些变量来保存您的 url。

export const environment = 
{
    production: false,
    API_URL: 'http://localhost:8080',
};

用于生产,在 environment.prod.ts 中

export const environment = 
{
    production: true,
    API_URL: 'http://api.productionurl.com',
};

在代码中使用导入变量时,

import { environment } from '../../environments/environment';
....
....

private API_URL= environment.API_URL;

每当您用于生产时,请使用 angular cli 命令选项

ng build --env=prod

当前环境的文件内容将在构建期间覆盖这些内容。 构建系统默认为使用 environment.ts 的开发环境,但如果你这样做 ng build --env=prod 然后将使用 environment.prod.ts。 可以在 .angular-cli.json 中找到 env 映射到哪个文件的列表。

更多查询请引用, https://angular.io/guide/deployment

关于 Angular CLI : Change REST API URL on build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426721/

相关文章:

javascript - angular ngrx store 参数化内存选择器

javascript - NgFor 无法工作 Angular 2

angular - Angular 路由如何优先于静态站点上的文件路径

javascript - Angular 2 通过绑定(bind)将 html 传递给 ng-content

Angular 2 访客柜台

node.js - 角度 cli 安装命令显示错误

angular - 在 angular\cli 中使用 ng2-ckeditor