4

我有一个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。有没有办法做到这一点?

4

1 回答 1

0

我找不到任何方法来做到这一点,所以我制作了一个 grunt 插件,其功能如下:

https://npmjs.org/package/grunt-reconfigure

于 2013-07-11T22:16:19.907 回答