我们说我有3种咕噜目标模式:快速,构建和 dist
我还有一个自定义目标make-stuff
:
grunt.registerTask('make-stuff', [
'someCSStask',
'someUtility',
'somePackage',
'isolatedTask' // More on this below
]);
...在以上所有3种目标模式中运行(快速,构建,分散),如下所示:
grunt.registerTask('quick', [
'some-task1',
'make-stuff'
]);
grunt.registerTask('build', [
'some-task1',
'some-task2',
'make-stuff'
]);
grunt.registerTask('dist', [
'some-task3',
'build' // make-stuff gets ran here since we reference 'build'
]);
我想在每个目标模式下正常运行make-stuff
,除了快速,我希望它忽略 isolatedTask
答案 0 :(得分:1)
如果这是您的设置,为什么不将'isolatedTask'移动到构建中?
grunt.registerTask('build', [
'some-task1',
'some-task2',
'make-stuff',
'isolatedTask'
]);
否则,尝试这样的事情
grunt.registerTask(
'isolatedTask',
'Isolated tasks for make-stuff, skip if target mode is quick.',
function() {
var target = this.args[0];
if (target === 'quick') { return; }
// logic here
}
);
grunt.registerTask(
'quick',
function() {
grunt.run.tasks([
...,
'isolatedTask:' + this.nameArgs
]);
}
);