簡體   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