2011-01-02 10 views
10

Naprawdę wchodzę w tworzenie stron internetowych, w szczególności JS, więc zastanawiałem się, jakie były najlepsze praktyki w zakresie organizacji plików JS i delegowania obowiązków. Pytam o to, ponieważ byłoby to dla mnie sensu, aby ten rodzaj konstrukcji:Organizacja i projektowanie plików JavaScript

  • STRONA GŁÓWNA (PHP) (zawiera odniesienie do centralnego pliku JS)
  • MAIN plik JavaScript (zawiera odniesienie do jednego plik zawierający tylko kody błędów w obszarze nazw lub klasę b)

ile ma to sens dla mnie, zastanawiam się, czy się mylę moim zdaniem biorąc pod uwagę fakt, że nie można w sposób naturalny zawierać plik JS do drugiej, chyba że wykonasz kilka sztuczek (nie, nie mówiąc o jQuery). Sztuczki mogą oznaczać, że nie dzieje się tak po prostu dlatego, że nie pasuje do najlepszych praktyk dla danego języka, ale nie zawsze tak jest w przypadku problemów z wieloma domenami. Zanim więc przejdę do zbyt kiepskiego projektu, byłam ciekawa, jak podzieliliście się obowiązkami lub po prostu zsumowali wszystko w jeden plik.

Odpowiedz

9

Najlepszym sposobem na obsługę wielu plików JavaScript jest zaprojektowanie ich jak modułów. Jeden główny plik JavaScript powinien działać jako rodzaj bootloadera, który uruchamia program, ustawiając "przestrzeń nazw" (cytowany, ponieważ JavaScript nie ma klas). Przykład:

var myNamespace = {}; 

W każdym z modułów, należy przedłużyć „nazw”. Ma to dwie zalety:

  • Minimalizuje globale. W tym przypadku będziesz mieć jedną globalną.
  • Łatwe do miksowania i łączenia (i ponownego użycia) modułów, jeśli są prawidłowo zaprojektowane.

zobaczyć także to dla szczegółów implementacji: https://stackoverflow.com/a/3722845/221061

+0

Dzięki. W twoim przypadku zakładam jednak, że cały kod jest w jednym pliku, po prostu czyścisz go, umieszczając każdy we własnym module w poprawny sposób? – Ilya

+0

Można to zrobić w ten sposób, ale ten rodzaj pokonuje cel modułów. Zalecam umieszczenie każdego z nich w osobnym pliku, abyś mógł je później wykorzystać (część "mix-and-match"). –

0

Jeden duży plik JS nie jest to, że „zła” w porównaniu do korzystania z wielu plików JS.

można skompresować go na serwerze, jeśli martwisz się o szerokości pasma, zajrzeć do gzip lub opróżnić.

+1

Och, wcale nie chodzi o przestrzeń. Przeciwnie, o zachowanie wszystkiego porządku i logiki. – Ilya

2

Chciałbym podzielić klasy na modułowe pliki JS, pasujące do Twojej domeny. Użyj kompresora YUI lub innych narzędzi, aby skompresować pliki JS i zminimalizować je.

Powiązane problemy