运行grunt命令时删除输出页眉和页脚

时间:2017-08-27 00:34:35

标签: npm gruntjs node-modules

我正在运行grunt命令,但它显示了我要删除的页眉和页脚。

这是我的Gruntfile.js

module.exports = function(grunt) {
    grunt.initConfig({
        exec: {
            ls: {
                command: 'ls -la',
                stdout: true,
                stderr: true,
            }
        }
    });
    grunt.loadNpmTasks('grunt-exec');
    grunt.registerTask('ls', ['exec:ls']);
}

这就是我得到的:

[编辑]

我对下图中突出显示的标题感到困惑。我想强调一下:

Running "exec:ls" (exec) task

enter image description here

我可以在目标内部使用一些选项来删除它(黄色突出显示)吗?

1 个答案:

答案 0 :(得分:1)

安装grunt-reporter

可以省略标题Running "exec:ls" (exec) task

<强> Gruntfile.js

您的Gruntfile.js可以配置如下:

module.exports = function (grunt) {

  grunt.initConfig({
    reporter: {
      exec: {
        options: {
          tasks: ['exec:ls'],
          header: false
        }
      }
    },

    exec: {
      ls: {
        command: 'ls -la',
        stdout: true,
        stderr: true
      }
    }
  });

  require('load-grunt-tasks')(grunt);

  grunt.registerTask('ls', [
    'reporter:exec', //<-- The call to the reporter must be before exec.
    'exec:ls'
  ]);
}

注意grunt-reporter未使用grunt.loadNpmTasks(...)加载。相反,它使用load-grunt-task。这也将处理grunt-exec的加载,因此不需要grunt.loadNpmTasks(...)任何其他模块。

但是Done呢?

不幸的是,grunt-reporter没有提供省略最终Done消息的功能。

要省略Done,您必须使用空函数完成替换grunt的内部grunt.log.success函数。这种方法并不特别好,因为它有点像黑客。例如,您可以将以下内容添加到配置的顶部:

module.exports = function (grunt) {

  grunt.log.success = function () {}; // <-- Add this before grunt.initConfig({...})

  // ...

}

同样的hack也可以用于标题,但grunt-reporter是IMO更清洁的方法。即。

module.exports = function (grunt) {

  grunt.log.header = function () {}; // <-- Blocks all header logs.

  // ...

}