Thay vì gửi một bundle to cho toàn app, code splitting chia thành nhiều chunk tải theo nhu cầu → giảm JS phải parse/execute ban đầu, cải thiện thời gian tương tác (TTI).
import('./mod')động trả về Promise; bundler (webpack/Vite) tự tách một chunk riêng ngay tại điểm gọi.- Điểm split phổ biến: theo route, component nặng (chart, editor, map), tính năng chỉ dùng sau khi người dùng tương tác.
- React:
React.lazy+<Suspense>. Next.js:next/dynamic.
Đánh đổi: chia quá nhỏ thành nhiều chunk → nhiều request và overhead; cân bằng bằng prefetch các chunk sắp cần.