2013-05-30 11 views
6

Chcę tylko uzyskać opinię na temat mojej pracy. Zdaję sobie sprawę z Yeomana i celowo postanowiłem go nie używać. Mój przepływ pracy wygląda następująco:Workflow Bower and Grunt

  1. Uruchom bower install, aby zainstalować wszystkie zależności oparte na zasobach projektu.
  2. Uruchom grunt, który kopiuje wszystkie pliki js z folderu komponentów altówki do nowego folderu js, a wszystkie pliki css do nowego folderu css.
  3. Dalsze użycie zadania pomrucz do łączenia i minimalizowania wszystkich plików js i css z nowych folderów i umieszczania ich w folderze dist.
  4. Odwołaj się do końcowego skróconego pliku css i js w folderze dist z HTML.

Jedną z rzeczy, których na pewno nie chcę wykonywać w moim zadymionym zadaniu, jest wykonanie zadania zależnego, np. chwyć cały plik js z folderu bootstrap do nowego folderu js, a następnie pobierz wszystkie pliki js z folderu prettyphoto do nowego folderu js. Chcę, aby zadanie pomruków było tak ogólne, jak to tylko możliwe, aby można było używać tego samego pliku gruntu w dowolnym projekcie, niezależnie od tego, jak mogłyby wyglądać zależności bower. Powodem jest to, że powinienem spędzać cały czas pisząc mój plikplik dla każdego projektu, dlaczego nie miałbym po prostu pobierać kodów źródłowych dla wszystkich zależności w konwencjonalny sposób.

Jest więc wtyczka grunt-contrib-copy do kopiowania plików z jednego miejsca do drugiego, których używam do pobrania wszystkich plików js z folderu komponentów altówki. Problem polega na tym, że większość komponentów altany pochodzi z regularnej js i minifikowanej wersji. Tak więc, kopiuję ich obu i łączę się z nimi i je ugniata. Więc zduplikowany kod!

Czy mój przepływ pracy ma sens? Czy tak, jak mogę się pozbyć problemu, o którym wspomniałem w powyższym akapicie?

Odpowiedz

2

Jeśli dobrze rozumiem, należy spojrzeć na grunt-usemin. Możesz zawijać swoje tagi js w <!-- build:js js/foo.js -->. Zadanie useminPrepare, które jest zawarte w pakiecie, będzie cyklicznie przechodzić przez dowolne skrypty (lub pliki css lub obrazy itp.), Które tam są, i dynamicznie dodawać je do zadania concat lub uglify.

Jedną z wad, które znalazłem, jest to, że zadanie usemin jest dość powolne, ale mam nadzieję, że jeśli zostanie zaimplementowane this pull request, wszystko stanie się znacznie, dużo szybsze.

+0

Dzięki, próbowałem usemin i jego naprawdę wielki. Chodzi tylko o to, że poprawione wersje plików js i css faktycznie nie są tworzone. Jest to znany problem na komputerze z systemem Windows. Nie widzę niczego złego w mojej konfiguracji. – Prashant