我有一个包含不同项目的目录:
top-directory/
project1/
project2/
project3/
在大多数项目目录中都是Gruntfile。处理项目cd
到其目录时,运行grunt
以观察更改。
当我需要切换到另一个项目时(有时只是为了进行一些小改动),我需要停止Grunt,cd
到另一个目录并再次运行grunt
。然后重复以回到原始状态。
是否有可能在包含Gruntfile的所有项目目录上运行Grunt?或者在指定的目录列表中?也许是顶级目录中的Gruntfile?
答案 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 的特定任务。