vendor.js nebo CDN rubrika: Programování: JavaScript

5 Milan Lempera
položil/-a 9.5.2014

V mnoha javascriptových aplikacích které jsem poslední dobou zahlédl jsou závislosti
na cizí knihovny baleny do jednoho souboru - obvykle vendor.js

U vlastního kódu aplikace to samozřejmě chápu. Ale nevidím výhodu kompilace běžně používaných
knihoven (jQuery a jQuery-UI, angular,...) do jednoho souboru.

Používáte ve svých projektech CDN? Pokud ne, proč?

Komentáře

  • ic : Vím, že o toto se starala například knihovna head.js ( http://headjs.com/ ) která slibovala taktéž jediný javascript ve hlavičce a tím snížení datových přenosů i celkové doby načtení stránky. Později přidala i funkce 'modernizeru', tedy opravy odlišností implementace html5 ve starších prohlížečích a podobně. Jenže používá se head.js dneska ještě? jsou jiné knihovny? už to není potřeba? Taky bych se o tom něco více rád dozvěděl. 21.5.2014
odkaz Vyřešeno
1 jlx
odpověděl/-a 16.5.2014

No takhle, základní idea u "vendor.js" je, že je oddělená vlastní aplikace od knihoven. Což docela dává smysl u projektu, kde se kód vlastní aplikace mění poměrně často, ale knihovny (včetně jejich verzí) zůstávají stejné.

Například - vlastní aplikace má 100 kB a knihovny mají 300 kB. Když kompiluju do jednoho souboru, tak při každém update aplikace budou všichni uživatelé znovu stahovat kompletní balík, včetně 300 kB knihoven, tj. 400kB celkem. Pokud knihovny oddělím do vendor.js a správně nastavím cache, tak budou znovu tahat jenom 100 kB vlastní aplikace.

Samozřejmě, že nejde o úplně univerzální řešení, ale prostě to v některých případech může být užitečné. Zejména to platí, pokud se závislosti skládají z mnoha malých modulů - jako v případě Components nebo browserify..

CDN s tím vlastně ani moc nesouvisí. Dává smysl v případě, kdy používám jednu či dvě velké monolitické knihovny (jQuery apod.). Navíc to lze kombinovat vendor.js, tak že pro "velkou" závislost použiju CDN, zbytek malých dám do vendor.js. Při prvním načtení 3 requesty celkem, po update aplikace zase jenom jeden..

Komentáře

  • Taco : Pěkně popsáno. Díky. 16.5.2014

Pro zobrazení všech 11 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.