2012-12-19 10 views
8

mamy problem w pracy, używamy wymagają js ale nasza struktura folderów jest nieco inna, mamy następujący:RequireJs minifcation - złożona struktura katalogów

--js folder 
    --Folder 
     ---some base js files 
    -Folder 
     ---main 
      --src 
       ---require.js 
       --- require JS modules 
     --plugin js files 
     --more js files 

Chcielibyśmy minify wszystko Pliki JS do pliku SINGLe js do produkcji jako takie

---js folder 
    --min-all.js 

Czy to możliwe? jeśli tak, w jaki sposób? .. Każda pomoc będzie doceniona!

Dzięki!

Po prostu pomyślałem, że wyjaśnię, że inne foldery zawierają standardowe, nie modularne pliki javascript, mogą być mieszanką wtyczek lub prostych pomocników javascript.

Odpowiedz

6

Krótka odpowiedź brzmi: tak, RequireJS może to zrobić.

Zasadniczo konieczne będzie utworzenie jednego pliku JS, który wymaga wszystkich zasobów, które mają zostać zminimalizowane. Następnie wskażesz optymalizator w tym pliku i spowoduje to połączenie wszystkich razem.

require(["one", "../another/two", "folder/three", "folder/inner/four" ... ]); 

Jeśli plik był nazywany myfile.js, by uruchomić optymalizatora o podobnych parametrach do tego:

node r.js -o name=myfile out=optimized.js 

Jeśli masz biblioteki i inne pliki, które nie mają być włączone do końcowego zoptymalizowanego pliku użyjesz flagi excludeShallow. na przykład

node r.js -o name=myfile out=optimized.js excludeShallow=jquery.min 

Istnieje więcej opcji więc należy sprawdzić ich optimization documentation jeśli nie masz jeszcze.

+0

W związku z tym plik myfile.js zawiera wszystkie załączniki, czy powinien również zawierać pliki, których nie ma w katalogu src/..? jak zewnętrzne biblioteki, wtyczki itp.? – Nima

+1

IIRC optymalizator przechodzi łańcuch zależności, więc "zasypka", jak zasugerowano tutaj, powinna wnieść wszystko. – Aren

+0

dzięki za szybką odpowiedź, w innych robotach plik pod głównym atrybutem danych stanie się myfile.js? – Nima

Powiązane problemy