Grunt:grunt-hub并不是在看所有的项目

我已经安装了grunt-hub到我的工作区,看起来像这样

hub/ node_modules/ grunt/ grunt-hub/ Gruntfile.js package.json 

在Gruntfile.js中我写了这个,

 module.exports = function (grunt) { 'use strict'; grunt.initConfig({ pkg : grunt.file.readJSON( 'package.json' ), hub: { src: [ 'hub/*/Gruntfile.js' ], watch: { src: '<%= hub.src %>', tasks: ['watch'] } } }); grunt.loadNpmTasks('grunt-hub'); grunt.registerTask('default', []); } 

我在hub目录下有四个文件,它们有自己的Gruntfiles。

 hub/ project1/ ... Gruntfile.js ... project2/ ... Gruntfile.js ... project3/ ... Gruntfile.js ... project4/ ... Gruntfile.js ... 

当我跑…

 grunt hub 

…它工作得很好, 它观察我所做的所有改变,并运行我命令他们运行的方式。

唯一的问题是在我被告知的命令提示符中…

 >> C:\Grunt\hub\project1\Gruntfile.js: Running "watch" task Waiting... >> C:\Grunt\hub\project2\Gruntfile.js: Running "watch" task Waiting... >> C:\Grunt\hub\project3\Gruntfile.js: Running "watch" task Waiting... 

…但是我不知道project4正在被监视。 当我修改与project4相关的文件时,什么都不会发生,而对于其他所有内容都是如此。

我该怎么做才能让它看到project4呢?

livereload对此有影响。 这里有一些选项:

  • 将监视任务添加到您的中心任务configuration(grunt.config.hub.js)中的任务列表中:

      watch: { options: { allowSelf: true }, src: hubSettings.src, tasks: ['watch'] }, 

要么:

  • 将watch任务设置为默认运行grunt hubgrunt hub:target:watch

参考

  • grunt-hub问题#28:不支持grunt-contrib-watch选项livereload:true

  • Grunt的多模块JavaScript项目