- vừa được xem lúc

Link prefetching và Lazy loading (Vue Router)

0 0 60

Người đăng: Truong Hong Thai

Theo Viblo Asia

Khi bạn học về Vuejs hay Reactjs thì không ít lần các bạn sẽ gặp từ khóa Lazy loading ở phần Code-Splitting (React)Lazy Loading (Vue Router). Đọc tài liệu thì dường như chỉ hiểu sơ sài bản chất của nó rồi xem những example và apply vào dự án. Vậy bên trong nó hoạt động như thế nào? Hãy cùng mình đi qua những ví dụ để hiểu thêm nhé @@

1. Lazy loading là gì?

Đây là một kỹ thuật hạn chế tải các resource chưa thực sự cần khi bạn load một trang web:

  • Lazy loadding images:

    • Khi bạn có một list ảnh 1000 images, scroll tới đâu thì load ảnh tới đó thay vì phải load hết 1000 images
    • Khi bạn có một list ảnh với tốc độ mạng chậm, bạn có thế load placeholder images (những images có độ phân giải thấp để hiển thị trước) và khi load thành công thì sẽ thay thế placeholder images.(Link tham khảo)
  • Lazy Loading Routes:

    • Một trang web với nhiều route, bạn sẽ chỉ load những resource mà trang web hiện tại bạn đang cần và những resource của route mà bạn nghĩ user có khả năng cao sẽ vào trang tiếp theo. Thay vì phải load hết toàn bộ resource, điều này khá lãng phí phải không nào?

Bài viết này mình sẽ đi sâu vào Lazy Loading Routes vì nó áp dụng khá nhiều khi mình làm dự án.

2. Link prefetching là gì?

Là một cơ chế của Browser, sử dụng thời gian rảnh của Browser để download hoặc prefetch những resource mà user có thể truy cập tới trong tương lai. Sau khi một page đã được load hoàn thành, Browser sẽ tìm những prefetch links, download những resource và sau đó lưu vào browser's cache. Khi user truy cập tới những page khác, nó sẽ cung cấp những resource tương ứng từ browser's cache một cách nhanh chóng.

Hình ảnh sau sẽ cho thấy được cơ chế hoạt động của nó:

3. Vào demo 2 khái niệm trên nhé !!!

1. Tạo Vue Project với Vue CLI:

https://cli.vuejs.org/guide/creating-a-project.html#vue-create

vue create demo-lazyloading-prefetch
2. Cài đặt Vue Router: https://router.vuejs.org/installation.html#direct-download-cdn
npm install vue-router
3. Chuẩn bị code demo Link Repository:

Tạo ra 2 route //about

Trường hợp 1: Không sử dụng Lazy Loading Routes:

Như trên hình ta có thể nhìn thấy được. Khi không dùng Lazy Loading Routes. Trang About sẽ được tải về cùng một lúc ở trong app.js

Trường hợp 2: Sử dụng Lazy Loading Routes:

Trang HomeAbout được chia ra thành từng file js.

Ở hình 2 sẽ thấy rel="prefetch", khi tới trang Home và download hết file js từ Home thì tiếp tục download file js từ trang About và lưu vào cache browser. Khi tới trang About thì chỉ việc lấy ra từ cache.

Nếu thấy không hiểu hoặc có những góp ý cho bài viết thì mong các bạn để lại comment nhé _@.com#$%^&*

Bình luận

Bài viết tương tự

- vừa được xem lúc

Destructuring Props Object và Vấn đề về Reactivity trong Vue 3

Giới thiệu. Trong Vue 3, việc sử dụng destructuring (phân rã) để truy cập vào các thuộc tính của props object trong component con là một phương pháp tiện lợi.

0 0 14

- vừa được xem lúc

5 Tip bỏ túi khi làm việc với Vue

1. Ghi đè scoped style.

0 0 73

- vừa được xem lúc

Tự học Vue.js tập 1 - Intro & Demo

Vue.js là gì.

0 0 59

- vừa được xem lúc

VueJs cho người mới

1. Vue Js là gì. 2. Vue instance.

0 0 29

- vừa được xem lúc

VueJs cho người mới phần 2

1. Event Handling. Listening to Events. Chúng ta có thể sử dụng chỉ thị v-on để lắng nghe các sự kiện DOM và chạy một số JavaScript khi chúng được kích hoạt.

0 0 65

- vừa được xem lúc

So sánh Vue và React

Khi phát triển một ứng dụng mới hoặc chỉnh sửa giao diện người dùng của một ứng dụng hiện có, tôi nghĩ sẽ có lúc bạn phải tìm hiểu và cân nhắc việc lựa chọn framework js. Trong bài viết này tôi sẽ cố

0 0 61