Bundle là phần JavaScript mà công cụ build đóng gói và gửi tới trình duyệt. Nó phình to chủ yếu do dependency, code trùng lặp, và gửi code mà trang chưa cần tới.
Bundle là phần JavaScript mà công cụ build đóng gói và gửi tới trình duyệt. Nó phình to chủ yếu do dependency, code trùng lặp, và gửi code mà trang chưa cần tới.
lodash chỉ để dùng một hàm sẽ kéo theo toàn bộ.import _ from "lodash"; // ~70KB — toàn bộ thư viện
import debounce from "lodash/debounce"; // ~2KB — chỉ hàm bạn cần
Số byte là vấn đề nhỏ; parse và execute JS mới là vấn đề lớn. Trình duyệt phải tải, rồi parse, compile và chạy mọi byte trên main thread — và việc đó chậm hơn nhiều trên điện thoại tầm trung so với laptop. JS nặng trì hoãn khả năng tương tác và làm xấu trực tiếp INP lẫn LCP.
"Cứ thêm thư viện đi" chính là cách các app âm thầm trở nên chậm. Người phỏng vấn muốn thấy bạn nghĩ về chi phí mỗi dependency và ưu tiên import theo từng hàm, tree shaking, code splitting trước khi bundle phình lên — nhất là vì điện thoại của người dùng yếu hơn nhiều so với máy dev của bạn.
Thư viện câu hỏi phỏng vấn IT với đáp án chi tiết — từ Junior đến Senior.
Ủng hộ