Angular 2/4在构建后更改env变量

时间:2017-09-06 13:50:09

标签: angular angular-cli

我读到你可以将你的environement变量放在environement.ts / environement.prod.ts中。 好的

但是这个文件是编译的,所以我不能在构建后更改它。 无论如何要这样做吗?

(我正在使用angular-cli)

谢谢

3 个答案:

答案 0 :(得分:6)

我们可以在 main.bundle.js 文件中的environment对象中找到所有var environment = {}变量。

注意:更改后重新启动服务器。

答案 1 :(得分:4)

是的,就像这样:

<强> environment.ts

export const environment = {
    env: 'Dev'
};

<强> environment.prod.ts

export const environment = {
    env: 'Prod'
};

编辑我为解决这个问题所做的是使用如下的窗口对象:

export const environment = {
    env: window['env'] || 'Dev' // you get it for prod
};

在index.html中添加了这个:

<script src="./config.js"></script>

在config.js文件中,“系统人员”可以把这个:

window['env'] = 'New environment';

这样,如果没有提供配置文件,env变量将有一个值,如果提供了配置文件,它将从中获取值。

答案 2 :(得分:2)

构建完成后,我们可以找到main.bundle脚本文件,您将找到并更改环境变量。

在main.bundle.js文件中:

var environment = {     生产:假,     serviceUrl:“ <>”,     prodService:“环境” };