grunt-contrib-jade 使用 cwd 编译成单个 JS

grunt-contrib-jade compiling to single JS with cwd

我正在尝试使用 grunt-contrib-jade 将多个 jade 模板编译成单个 JS 文件。我面临的问题是,有了模板的完整路径,我得到了带有完整路径的函数名称。我想避免这种情况,所以我尝试使用 cwd(不展开)。结果如下:

>> Source file "test.jade" not found.
>> Source file "test2.jade" not found.

有什么方法可以实现我的计划吗?我对该任务的 grunt 配置如下:

jade: {
  js: {
    options: {
      client: true,
      amd: true
    },
    files: [ {
      cwd: 'js/views/',
      src: ['*.jade'],
      dest: 'js/tmp/templates.js'
    } ]
  }
},

感谢您的建议, 德拉科

愚蠢的我,没有完全阅读插件的文档:(。

解决方案很简单,使用 processName 选项:

options: {
      client: true,
      amd: true,
      processName: function(path) {
        var pathChunks = path.split('.')[0].split('/');
        return pathChunks[pathChunks.length - 1];
      }
    }