Grunt - 具有相同开始的 Jade 文件编译成单个文件

Grunt - Jade files with same start compile into single file

我正在使用 grunt-contrib-jade 编译我的 jade 文件。我遇到的问题是,例如我有以下文件:

/views/user.html
/views/user.index.hmtl
/views/user.show.html

这些都会被编译合并成:

/views/user.html

为什么会这样?我希望它们位于单独的文件中,例如:

/views/user.html
/views/user.index.html
/views/user.show.html

有没有办法做到这一点?

这是我的配置:

jade: {
  compile: {
    options: {
      pretty: true,
      data: {
        debug: false
      }
    },
    files: [{
      expand: true,
      cwd: '<%= yeoman.client %>',
      src: [
        '{app,components}/**/*.jade'
      ],
      dest: '.tmp',
      ext: '.html'
    }]
  }
}

您必须使用 rename 而不是 ext

这应该有效:

jade: {
  compile: {
    options: {
      pretty: true,
      data: {
        debug: false
      }
    },
    files: [{
      expand: true,
      cwd: '<%= yeoman.client %>',
      src: [
        '{app,components}/**/*.jade'
      ],
      dest: '.tmp',
      rename  : function (dest, src) {
        var folder    = src.substring(0, src.lastIndexOf('/'));
        var filename  = src.substring(src.lastIndexOf('/'), src.length);

        filename  = filename.substring(0, filename.lastIndexOf('.'));

        return dest + folder + filename + '.min.js';
      }
    }]
  }
}