我有一个Gruntfile
看起来像这样的东西(为示例而简化):
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。有没有办法做到这一点?