繁体   English   中英

调试/本地(“ grunt服务”)与dist / build(“ grunt”)的不同设置?

[英]Different settings for debug/local (“grunt serve”) vs. dist/build (“grunt”)?

我想定义一些应用程序设置 ,但是我想提供不同的值,这取决于我是在“调试”模式下运行(例如grunt serve )还是最终编译的应用程序正在运行(例如grunt的输出)。 也就是说,类似:

angular.module('myApp').factory('AppSettings', function() {
  if (DebugMode()) { // ?? 
    return { apiPort: 12345 };
  } else {
    return { apiPort: 8008 };
  } 
});

我该怎么做?

我在应用程序中处理它的方式:

  1. 将您在一个环境中的所有配置数据移动到一个文件中:config.js,config.json,...无论您的应用程序多么易于阅读。
  2. 现在修改您的配置文件以使用grunt config值将其转换为模板,并使用grunt-template生成该文件作为构建的一部分-例如: app.constant('myAppConfig', {bananaHammocks: <%= banana.hammocks %>});
  3. 最后,添加grunt-stage以根据环境切换grunt配置值:创建不同的config/secret/(env).json app.constant('myAppConfig', {bananaHammocks: <%= stg.banana.hammocks %>});文件,更新模板( app.constant('myAppConfig', {bananaHammocks: <%= stg.banana.hammocks %>}); ),然后grunt stage:local:buildgrunt stage:prod:build

我发现这是复杂性和功能之间的良好平衡(环境之间的分隔,运行时代码与构建选项无关,...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM