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

时间:2015-07-12 06:55:14

标签: gruntjs grunt-contrib-jade

我正在使用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'
    }]
  }
}

1 个答案:

答案 0 :(得分:0)

您必须使用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';
      }
    }]
  }
}