我想定义一些application settings,但我想根据我是否在' debug'模式(例如grunt serve
),或者最终编译的应用程序是否正在运行(例如grunt
的输出)。就是这样:
angular.module('myApp').factory('AppSettings', function() {
if (DebugMode()) { // ??
return { apiPort: 12345 };
} else {
return { apiPort: 8008 };
}
});
我该如何做到这一点?
答案 0 :(得分:1)
我在我的应用中处理它的方式:
grunt-template
生成文件 - 例如:app.constant('myAppConfig', {bananaHammocks: <%= banana.hammocks %>});
grunt-stage
以根据环境切换grunt配置值:创建不同的config/secret/(env).json
文件,更新模板(app.constant('myAppConfig', {bananaHammocks: <%= stg.banana.hammocks %>});
),然后grunt stage:local:build
或{ {1}} 我发现这是复杂性和功能之间的良好平衡(环境之间的分离,与构建选项无关的运行时代码,......)