2016-05-30 49 views
0
grunt.config('sass', { 
    options: { 
     sourceMap: true 
    }, 
    dist: { 
     options: { 
     outputStyle: 'compact' 
     }, 
     files: { 
     '/css/site.css': 'main/scss/site.scss', 
     '/css/template.home.css': 'main/scss/templates/home.scss' 
     '/css/template.contact.css': 'main/scss/templates/contact.scss' 
     '/css/template.something.css': 'main/scss/templates/something.scss' 
     } 
    } 
}); 

有沒有什麼辦法可以很好地處理了這部分(思考的模式,但我不知道的可能性)咕嚕Ĵ使用正則表達式

'/css/template.home.css': 'main/scss/templates/home.scss' 
'/css/template.contact.css': 'main/scss/templates/contact.scss' 
'/css/template.something.css': 'main/scss/templates/something.scss' 
+0

「處理這部分」? – ClasG

+0

是的@ClasG我想減少這三條線,因爲我需要添加其他幾行。謝謝 – Dhanan

回答

2

如果聲明的配置爲JS對象,您可以做這樣的:

var cfg = { 
 
     options: { 
 
      sourceMap: true 
 
     }, 
 
     dist: { 
 
      options: { 
 
       outputStyle: 'compact' 
 
      }, 
 
      files: { 
 
       '/css/site.css': 'main/scss/site.scss', 
 
       '/css/template.home.css': 'main/scss/templates/home.scss', 
 
       '/css/template.contact.css': 'main/scss/templates/contact.scss', 
 
       '/css/template.something.css': 'main/scss/templates/something.scss' 
 
      } 
 
     } 
 
    }, 
 
    grunt = { 
 
     config: function() { 
 
     document.write('<br/><strong>grunt config set</string><br/>'); 
 
     } 
 
    }; 
 

 
    document.write('<br/>"files" before new config:<br/><br/>'); 
 

 
    for (var property in cfg.dist.files) { 
 
     if (cfg.dist.files.hasOwnProperty(property)) { 
 
      document.write(property + ' = ' + cfg.dist.files[property] + '<br/>'); 
 
     } 
 
    } 
 

 
    document.write('<br/>"files" after added config:<br/><br/>'); 
 

 
    cfg.dist.files['/css/what ever...'] = 'the/latest/path'; 
 

 
    for (var property in cfg.dist.files) { 
 
     if (cfg.dist.files.hasOwnProperty(property)) { 
 
      document.write(property + ' = ' + cfg.dist.files[property] + '<br/>'); 
 
     } 
 
    } 
 

 
    grunt.config('sass', cfg);

請注意

cfg.dist.files['/css/what ever...'] = 'the/latest/path'; 

這就是添加額外配置的地方。

+0

非常感謝! 我不想在任何地方定義文件名。我需要包含遵循該模式的所有文件以包含我的配置。 類似這樣的 ''/css/template.%1.css':'main/scss/templates/$ 1.scss'' – Dhanan