Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
12
InstalacjaUnderscore.js
Dlaczegotutajonimmówię?
OUnderscore.jspiszętutajzbardzoprostegopowodu.Jesttorozwiązanie
bardzoużyteczne,dziękiktóremutempoorazjakośćpracykażdegoprogramisty
JavaScriptulepsze.Tochybawystarczy,jeżelichodziowyjaśnienia.
InstalacjaUnderscore.js
WprzypadkuUnderscore.jsmożnapowiedzieć,żesłowoinstalacjazostało
użytenawyrost.Wynikatogłówniezfaktu,żejesttotaknaprawdętylkojeden
plik.Pliktenmożnaznaleźćnastroniedomowejprojektu,podadresem:http://
underscorejs.org/.Znajdujesiętamoczywiścieowielewięcejniżtylko
plikizbiblioteką,aleskupimysiętylkonanim.
Wczasiepisaniaksiążkinastronieprojektumogliśmywybieraćztrzechrodza-
jówmateriałówdopobrania.PierwszyznichDewelopmentVersion(1.5.1)
topełnawersjabiblioteki.Powinniśmyjejużywać,kiedypracujemynadczymś
lokalnie.Dziękitemuwkażdejchwilimożemyprześledzićsposóbimplementacji
każdejczęścibiblioteki.Coprawdamożnatoteżzrobić,jeżeliktośjestbardzo
uparty,nawersjizminimalizowanej.Wersjęmożemypobrać,klikającProduction
Version(1.5.1).Jeżeliktośjeszczeniemiałdoczynieniazpraktykąwystawiania
dwóchwersjibibliotekJavaScript,towyjaśnię,żechodziwniejtylkooto,abydo
środowiskaprodukcyjnegowrzucaćjaknajmniejkodu.Dziękiczemunaszeroz-
wiązaniebędzienadaldziałałopoprawnie,aładowaćsiębędzieszybciej.Proces
takinazywasięobfuskacją(zaciemnianiem)kodu.Trzecimplikiem,którymożemy
pobrać,jestEdgeVersion.Jesttowersja,nadktórąwłaśnietocząsiępraceiktóra
niezostałajeszczeofcjalnieudostępniona.Zdecydowanieniezalecamkorzysta-
niazniejpodczastworzeniarozwiązańprzeznaczonychdoużytkukomercyjnego,
wktórychstabilnośćjestrzecząabsolutnienadrzędną.Polecamnatomiastkorzy-
staniezniejwcelachedukacyjnychikiedyprogramujemypoprostudlasiebie.
Wystarczyterazwybraćplik,którynasinteresuje,zapisaćgoidodaćodniesie-
niedoniegowpotrzebnymprojekcie.Nicprostszego.
Zanimprzejdziemydopraktycznymprzykładów,chciałbympokazać,jakdra-
stycznieróżnisięwyglądfunkcjiwwersjipełnejodtegowwersjiprodukcyjnejico
zatymidzie,dlaczegoanalizategodrugiegojestzajęciemdlabardzowytrwałych.
Pokażętonaprzykładziefunkcjieach.
Listing1.Implementacjafunkcjieachwpełnejwersji
//Thecornerstone,an‘each‘implementation,aka‘forEach‘.
//Handlesobjectswiththebuilt-in‘forEach‘,arrays,andraw
objects.