2016-09-27 42 views
0

我已经咕噜-的contrib手表配置是这样的:咕噜-的contrib手表不是调用任务

watch: { 
    tasks: ['copyFiles'], 
    js: { 
     files: [ 
      path.join(__dirname, "../gscm-js/src/**/*.js"), 
      path.join(__dirname, "../gscm-js/templates/**/*.*")] 
    }, 
    options: { 
     debounceDelay: 250, 
    } 
} 

我有我的copyFiles任务看起来像这样;

grunt.registerTask('copyFiles', 'copy templates and js', function() { 
    console.log('in copyFiles'); 
    var done = this.async(); 

    var sourceScripts = path.join(__dirname, "../gscm-js/src"); 
    var sourceTemplates = path.join(__dirname, "../gscm-js/templates"); 

    ncp(sourceScripts, scriptsDirectory, function() { 
     ncp(sourceTemplates, templatesDirectory, done); 
    }); 
}); 

即使watch任务输出文件已更改,日志消息也不会输出到控制台。

回答

0

grunt-contrib-watch是一个Grunt多任务,js是其多个任务之一的名称。

你需要移动tasks配置设置为js任务:

watch: { 
    js: { 
     files: [ 
      path.join(__dirname, "../gscm-js/src/**/*.js"), 
      path.join(__dirname, "../gscm-js/templates/**/*.*") 
     ], 
     tasks: ['copyFiles'] 
    }, 
    options: { 
     debounceDelay: 250 
    } 
} 

options可以保持它在哪里 - 它给予特殊待遇,并在多个任务之间共享。