具有覆盖配置的 G运行t 运行 任务

Grunt run task with override config

我总是使用 gulp 来实现我所有的任务自动化,但在我们当前的项目中我们使用 g运行t,我不知道如何做非常简单的事情:

grunt.initConfig({
    watch: {
        scripts: {
            files: '**/*.js',
            tasks: ['karma:watch:run'],
        }
    },
    myWatch: {
        scripts: {
            files: '**/*.js',
            tasks: ['do_my_own_task_but_not_karma'],
        }
    }
});

//current task
grunt.registerTask('default', ['watch']);

//doesn't work
grunt.registerTask('myWatchTask', ['myWatch']);

基本上我只是想为我自己的自定义任务覆盖当前的手表配置,因为我不希望每次更改 js 文件时 karma 运行 测试。

您需要在 watch 配置对象中添加新配置:

grunt.initConfig({
  watch: {
    main: {
      scripts: {
          files: '**/*.js',
          tasks: ['karma:watch:run'],
      }
    },
    myWatch: {
      scripts: {
          files: '**/*.js',
          tasks: ['do_my_own_task_but_not_karma'],
      }
  }
},
});

那么你可以运行grunt watch:main或者grunt watch:myWatch,see these docs.

如果您想要始终观看的内容,您可以将其添加到 watch 配置对象的根目录。

grunt.initConfig({
  watch: {
    files: '**/always.js',
    tasks: ['always'],
    main: {
      scripts: {
          files: '**/*.js',
          tasks: ['karma:watch:run'],
      }
    },
    myWatch: {
      scripts: {
          files: '**/*.js',
          tasks: ['do_my_own_task_but_not_karma'],
      }
  }
},
});

现在 grunt watch:myWatch 将 运行 它是专用配置和 watch 配置对象根目录中的配置。