在许多子目录上运行Grunt

时间:2015-12-18 10:24:12

标签: gruntjs grunt-contrib-watch

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

top-directory/
    project1/
    project2/
    project3/

在大多数项目目录中都是Gruntfile。处理项目cd到其目录时,运行grunt以观察更改。

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

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

2 个答案:

答案 0 :(得分:2)

可以使用AMA完成此操作。

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

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

您可能还想从任务列表中删除jshint,并允许其他Gruntfiles运行自己的检查,并避免收到有关每个文件的JS Hint建议的通知,这可能是一个很大的数字。

答案 1 :(得分:1)

我认为 grunt-subgrunt 可以帮助您:https://github.com/tusbar/grunt-subgrunt

有了它,您将能够将任务启动到位于子目录

中的GruntFile

所以你在顶层目录上创建了一个grunt文件,并配置了一个要调用你的子GruntFile的任务列表

编辑:如果您只想观看文件更改,还可以在顶级目录中使用 grunt-watch ,并观察子目录的更改并开始具有或不具有 grunt-subgrunt 的特定任务。