Gruntjs观看不同的文件夹并执行任务

mar*_*vic 17 javascript watch node.js gruntjs

我想知道是否可以配置监视任务来观察两个不同的文件夹并在每个文件夹上执行不同的任务.例如,每当更改/ folder1时,都应该执行task1,只要在/ folder2中更改了某些内容,就应该执行task2.

文件夹结构具有以下形式:root | -folder1 | -folder2

jai*_*ime 31

Watch的行为类似于多任务,因此您可以将其配置为观察不同的文件集并执行不同的任务

watch:{
  set1: {
    files: [ 'folder1/**/*' ],  //<- this watch all files (even sub-folders)
    tasks: ['task1']
  },
  set2: {
    files: ['folder2/**/*'],
    tasks: ['task2']
  }
},
Run Code Online (Sandbox Code Playgroud)

然后你可以运行一个监视任务或两者

grunt.registerTask('watchSet1', ['watch:set1']);
grunt.registerTask('watchSet1And2', ['watch:set1', 'watch:set2']);      
Run Code Online (Sandbox Code Playgroud)

没有测试但它应该工作.

  • 这会导致一些问题...在我的情况下,观察:set1无限期运行并观察:set2永远不会运行...正确的答案可以在这里找到:http://stackoverflow.com/questions/17585385/how-to - 运行 - 两咕噜手表的任务,同时 (21认同)