如何在AngularJ和打字稿中实现特定环境配置设置



我正在整理一个AngularJS TypeScript VisualStudio项目。我想拥有一个具有常数的配置文件,该文件控制不同的设置(例如,REST API URL和环境名称)。这通常是如何在此类项目中完成的?

我可能有一个称为 app.dev.config.ts的开发配置文件,例如:

module app.config {
    export class ConfigSettings {
        static environment(): string { return "dev"; }
        static dataApiBaseUrl(): string { return "DevDataService"; }
    }
}

和这样的app.prod.config.ts

module app.config {
    export class ConfigSettings {
        static environment(): string { return "prd"; }
        static dataApiBaseUrl(): string { return "PrdDataService"; }
    }
}

当然这实际上没有用,因为这两个类具有相同的名称。

我需要以某种方式进行设置,以便在构建服务器中仅构建一次,然后可以将其部署到固定的(3)(3)数量的环境中。也许这意味着,当我将其部署到某些环境中时,我还有一个额外的步骤,可以重命名配置文件。这是我为C#项目及其配置文件所做的。

我已经在网上搜索了这一点,但是我只能找到tsconfig.json文件的引用。

我找到了一个解决方案。

1)我在项目中将单独的配置文件(例如env.dev.tsenv.prd.ts)放在一起。他们的内容看起来像这样:

angular.module('compdb') //module name matches my main module
    .constant('env', 'prd')
    .constant('key1', 'prd value 1')
    .constant('key2', 'prd value 2');

2)Visual Studio将其转换为env.dev.js等。

3)在我的Gulp文件中,我将env.*.js文件复制到我的输出目录。

4)在我的Index.cshtml文件中,我包括env.js。我在创建compdb Angular模块

的脚本之后包括此内容

5)当我将代码部署到任何环境中时,我将适当的配置文件(例如env.prd.js)重命名为env.js

相关内容

  • 没有找到相关文章

最新更新