我正在整理一个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.ts
和env.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