2013-06-12 12 views
7

Potrzebuję wykonać niestandardowe zadanie Grunt i jestem absolutnie zagubiony w przepływie pracy.Grunt: tworzenie niestandardowych zadań, jak to zrobić

  1. Jak opracować niestandardowe zadanie i symuluję ładowanie go za pomocą npm podczas programowania?
  2. Czy istnieje inny sposób dystrybucji niestandardowych zadań zamiast korzystania z npm? Mam na myśli, czy mogę rozpowszechniać plik JavaScript definiujący całe niestandardowe zadanie Grunt i importować go bezpośrednio w pliku Gruntfile.js?

Ponieważ całe zadanie będzie na bardzo wczesnym etapie rozwoju, być może wysiłek opublikowania go w npm nie jest dobrym pomysłem.

Z góry dziękuję.

+0

Zadania Grunt to tylko moduły węzłów. Przeczytaj o tym. Możesz użyć 'npm link' do symlinkowania modułów do innych. –

Odpowiedz

21

Niestandardowe zadania pomruczeń są w zasadzie węzłami-modułami, które można publikować w rejestrze npm. spojrzeć na już istniejących, a dokumentacja Jak zbudować je tutaj:

http://gruntjs.com/api/grunt.task

zasadzie po prostu zrobić coś takiego:

module.exports = function (grunt) { 

    // or use grunt.registerMultiTask 
    grunt.registerTask('your-taskname', 'your task description', function() { 
    }); 
}; 

aby to dla ciebie łatwe, należy użyć grunt-init z grunt-init-gruntplugin, który zasadniczo wszystko dla Ciebie przygotuje!

jeśli nie chcesz, aby opublikować swój moduł do KMP, można zainstalować go w swoim projekcie z repozytorium git (na przykład za pomocą GitHub):

$ npm install git+https://github.com/your-user/your-repository --save 

opcja flagą --save zapisuje go automatycznie jako zależność od projektów package.json.

jeśli chcesz po prostu zawierać pojedynczy plik JS w projekcie ze swoim zadaniem, umieścić, że w katalogu wyboru (ja używam tutaj Grunt-zadania) i umieścić go w swojej gruntfile tak:

grunt.loadTasks("./grunt-tasks"); 

które spróbuje włączyć każdy plik js do tego katalogu jako zadania do zadawania.

+0

(+1) Czy './Grunt-tasks' odnosi się do' Gruntfile.js'? –

+0

tak! (... tylko 10 kolejnych postaci ... mogę dodać komentarz ;-)) – hereandnow78

+0

hahaha, dziękuję za wysiłek, wydaje się właściwą drogą. Podobało mi się, że mogę zaimportować zadanie z repozytorium git. To jest świetne!! –