Gruntjs 在许多子目录上运行Grunt

Gruntjs 在许多子目录上运行Grunt,gruntjs,grunt-contrib-watch,Gruntjs,Grunt Contrib Watch,我有一个包含不同项目的目录: top-directory/ project1/ project2/ project3/ 在大多数项目目录中,是一个Gruntfile。在处理项目时,我将cd放入其目录,并运行grunt以查看更改 当我需要切换到另一个项目时(有时只是为了一个小改动),我需要停止Grunt,cd到另一个目录,然后再次运行Grunt。然后重复上述步骤,返回到原始状态 是否有可能在包含GrunFile的所有项目目录上运行Grunt?或者在指定的目录列表上?也许是

我有一个包含不同项目的目录:

top-directory/
    project1/
    project2/
    project3/
在大多数项目目录中,是一个Gruntfile。在处理项目时,我将
cd
放入其目录,并运行
grunt
以查看更改

当我需要切换到另一个项目时(有时只是为了一个小改动),我需要停止Grunt,
cd
到另一个目录,然后再次运行
Grunt
。然后重复上述步骤,返回到原始状态


是否有可能在包含GrunFile的所有项目目录上运行Grunt?或者在指定的目录列表上?也许是顶级目录中的GrunFile?

我认为grunt subgrunt可以帮助您:

使用它,您将能够将任务启动到位于子目录中的GruntFile中

因此,您在顶层目录中创建了一个grunt文件,并配置了要调用到子GruntFile中的任务列表

编辑:如果您只想查看文件更改,还可以使用顶部目录上的grunt watch,查看子目录中的更改,并启动特定任务,无论是否使用grunt subgrunt

都可以完成此操作

然后编辑grunt hub/Gruntfile.js以指向感兴趣的目录或保留默认的
“../*/Gruntfile.js”

您可能还希望从任务列表中删除
jshint
,并允许其他Grunfile运行它们自己的检查,避免收到关于每个文件的JS提示建议的通知,这可能是一个很大的数字

mkdir grunt-hub && cd grunt-hub
npm install grunt-hub
cp -R node_modules/grunt-hub/tasks/init/hub/* .