Grunt使用覆盖配置运行任务

时间:2016-02-10 16:30:16

标签: gruntjs

我总是使用gulp来完成我的所有任务自动化,但在我们当前的项目中,我们使用grunt,我无法弄清楚如何制作非常简单的事情:

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文件时都会运行测试。

1 个答案:

答案 0 :(得分:1)

您需要在draft-4配置对象中添加新配置:

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:mainsee these docs

如果您希望始终观看某些内容,可以将其添加到grunt watch:myWatch配置对象的根目录。

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配置对象的根目录中运行它的专用配置和配置。