Čo je Code Splitting?
Code splitting je technika rozdelenia JavaScript kódu aplikácie na menšie časti (chunky), ktoré sa načítavajú podľa potreby. Namiesto jedného obrovského súboru prehliadač stiahne len kód potrebný pre aktuálnu stránku. Výrazne zrýchľuje počiatočné načítanie aplikácie.
Definícia Code Splitting
Čo je code splitting
Code splitting (po slovensky rozdelenie kódu) je optimalizačná technika, pri ktorej sa JavaScript bundle aplikácie rozdelí na menšie, nezávislé časti nazývané chunky. Každý chunk obsahuje kód pre konkrétnu stránku, funkciu alebo komponent a načíta sa až keď ho používateľ skutočne potrebuje.
Ako code splitting funguje
Moderné bundlery ako Webpack, Rollup a Vite automaticky rozdeľujú kód na základe:
- Dynamické importy — príkaz
import()vytvorí nový chunk, ktorý sa načíta asynchrónne - Route-based splitting — každá stránka (route) sa stane samostatným chunkom
- Vendor splitting — knižnice tretích strán (React, lodash) sa oddelia do spoločného chunka
Frameworky ako Next.js implementujú code splitting automaticky — každá stránka v adresári app/ sa stáva samostatným chunkom bez nutnosti manuálnej konfigurácie.
Výhody code splittingu
- Rýchlejšie prvé načítanie — prehliadač parsuje a vykoná menší objem JavaScriptu
- Efektívnejšie cachovanie — pri zmene jednej stránky sa invaliduje len jej chunk, nie celý bundle
- Lepšie TTI — menej JavaScriptu na spracovanie znamená rýchlejšiu interaktivitu
Praktický príklad
Príklad: SaaS aplikácia pre správu projektov má administrátorský panel, dashboard a nastavenia.
Bez code splittingu by prehliadač stiahol jeden súbor bundle.js s veľkosťou 2,4 MB — obsahujúci kód pre všetky stránky vrátane administrátorského panela, ktorý väčšina používateľov nikdy nenavštívi.
Po implementácii code splittingu sa aplikácia rozdelí na chunky: dashboard.js (180 kB), settings.js (95 kB) a admin.js (340 kB). Bežný používateľ stiahne pri prihlásení len dashboard chunk — 92 % menej kódu oproti pôvodnému bundlu.
Často kladené otázky
Čo je code splitting a prečo ho potrebujem?
Code splitting je technika rozdelenia JavaScript kódu na menšie časti, ktoré sa načítavajú podľa potreby. Potrebujete ho, ak vaša aplikácia má veľký JavaScript bundle, ktorý spomaľuje počiatočné načítanie stránky.
Ako implementovať code splitting v React?
V React aplikácii môžete použiť React.lazy() spolu s komponentom Suspense pre lazy loading komponentov. Ak používate Next.js, code splitting funguje automaticky pre každú stránku a pre dynamické importy cez next/dynamic.
Aký je rozdiel medzi code splitting a tree shaking?
Code splitting rozdeľuje kód na menšie časti načítavané podľa potreby — všetok kód stále existuje, len sa nestiahne naraz. Tree shaking kompletne odstráni nepoužívaný kód z finálneho bundlu. Obe techniky sa dopĺňajú a bežne sa používajú spoločne.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.