2013-02-26 4 views
11

Sto provando a creare un'attività personalizzata in grunt che richiama automaticamente i suoi "prerequisiti". Non sono sicuro su come farlo. Il Grunt.js docs mostrano questo esempio:Come richiamare altre attività dalla mia attività personalizzata * prima * viene eseguito il mio codice attività?

grunt.registerTask('foo', 'My "foo" task.', function() { 
    // Enqueue "bar" and "baz" tasks, to run after "foo" finishes, in-order. 
    grunt.task.run('bar', 'baz'); 
    ... // Other stuff here 
}); 

io non voglio "accodamento bar e baz dopo foo", voglio eseguirli proprio lì, dove la linea grunt.task.run è, quindi vengono eseguiti prima della mia "Altro cose".

Come faccio?

risposta

12

penso che il tuo unico modo per farlo sarebbe attualmente attraverso la creazione e l'ulteriore compito

grunt.registerTask('fooTask', 'My "foo" task.', function() { 
    grunt.task.requires('bar'); // make sure bar was run and did not fail 
    grunt.task.requires('baz'); // make sure bar was run and did not fail 
    ... // Other stuff here 
}); 

grunt.registerTask('foo', 'My "foo" sequence.', ['bar', 'baz', 'fooTask']); 
+0

Beh, questo è kindof deludente. Almeno non sprecherò più tempo a cercare una soluzione. Grazie! – kikito