2013-07-11 101 views
4

布爾配置我有一個Gruntfile,看起來像這樣(簡化的例子):GruntJS指定基於環境

module.exports = (grunt) -> 
    grunt.initConfig 

    config: 
     dev: 
     options: 
      variables: 
      debug: true 
     dist: 
     options: 
      variables: 
      debug: false 

    jade: 
     templates: 
     options: 
      client: true 
      compileDebug: '<%= grunt.config.get("debug") %>' 
     files: 
      'public/templates.js': ['src/jade/templates/**/*.jade'] 

    grunt.loadNpmTasks 'grunt-config' 
    grunt.loadNpmTasks 'grunt-contrib-jade' 

的問題是,grunt-config(或者它的模板解析)將其所有字符串的選項,但Jade編譯器將所有的布爾標誌選項檢查爲布爾值(if (compileDebug !== false))。所以即使我運行grunt config:dist jade,它仍然會生成包含調試邏輯的模板。

我知道我可以通過將Jade配置複製到兩個不同的目標中來解決這個問題,但是我希望儘可能保持我的Gruntfile爲DRY。有沒有辦法做到這一點?

+0

似乎很破我 – Ven

+0

這是cofeescript,這就是爲什麼看起來「破」 – SigmaSoldier

回答