如何列出给定的grunt任务依赖于Makefile的所有文件?

ecm*_*aut 0 makefile node.js gruntjs

由于Grunt不支持仅重建已更改的内容,因此我想在其周围包装一个Makefile,以便只计算"输入"文件集并且根本不调用grunt,除非它们自上次构建以来已经更改.

你能告诉grunt只是列出某个特定任务在stdout上依赖的文件吗?

jso*_*son 5

您可以使用自定义任务执行此操作,但它仍将由正常的grunt输出包装.

grunt.registerTask('src', function(){
  var taskConfig = grunt.config(this.args.join('.'));
  var expanded = grunt.task.normalizeMultiTaskFiles(taskConfig);
  expanded.forEach(function(files){
    files.src.forEach(function(file) {
      console.log(file);
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

命令行语法列出所有文件,例如,jshint的子任务称为"myFiles"将是 grunt src:jshint:myFiles

$ grunt src:jshint:myFiles
Running "src:jshint:myFiles" (src) task
file1.js
file2.js
dir/file3.js

Done, without errors.
Run Code Online (Sandbox Code Playgroud)