Phân trang phía máy chủ nodejs
Trường hợp sử dụng phổ biến nhất cho kết xuất phía máy chủ là xử lý kết xuất ban đầu khi người dùng (hoặc trình thu thập thông tin của công cụ tìm kiếm) yêu cầu ứng dụng của bạn lần đầu tiên Show
Khi máy chủ nhận được yêu cầu, nó sẽ hiển thị (các) thành phần được yêu cầu thành một chuỗi HTML, sau đó gửi nó dưới dạng phản hồi cho máy khách. Từ thời điểm đó, khách hàng đảm nhận nhiệm vụ kết xuất MUI trên máy chủMUI được thiết kế từ đầu với sự hạn chế về kết xuất trên máy chủ, nhưng bạn phải đảm bảo rằng nó được tích hợp chính xác. Điều quan trọng là phải cung cấp CSS cần thiết cho trang, nếu không, trang sẽ hiển thị chỉ bằng HTML, sau đó đợi CSS được ứng dụng khách đưa vào, khiến trang bị nhấp nháy (FOUC). Để đưa phong cách xuống máy khách, chúng ta cần
Ở phía máy khách, CSS sẽ được chèn lần thứ hai trước khi xóa CSS đã chèn ở phía máy chủ Đang cài đặtTrong công thức sau đây, chúng ta sẽ xem xét cách thiết lập kết xuất phía máy chủ chủ đềTạo một chủ đề sẽ được chia sẻ giữa máy khách và máy chủ 3Phía máy chủSau đây là phác thảo về phía máy chủ sẽ trông như thế nào. Chúng tôi sẽ thiết lập phần mềm trung gian Express bằng ứng dụng. sử dụng để xử lý tất cả các yêu cầu đến máy chủ. Nếu bạn không quen với Express hoặc phần mềm trung gian, hãy biết rằng hàm 4 sẽ được gọi mỗi khi máy chủ nhận được yêu cầu 5Xử lý yêu cầuĐiều đầu tiên mà chúng ta cần làm đối với mọi yêu cầu là tạo một 2 mớiKhi kết xuất, chúng tôi sẽ bọc 7, thành phần gốc, bên trong một 8 và một 9 để tạo cấu hình kiểu và 0 có sẵn cho tất cả các thành phần trong cây thành phầnBước quan trọng trong kết xuất phía máy chủ là kết xuất HTML ban đầu của thành phần trước khi chúng tôi gửi nó tới phía máy khách. Để làm điều này, chúng tôi sử dụng ReactDOMServer. renderToString() MUI đang sử dụng Cảm xúc làm công cụ tạo kiểu mặc định. Chúng ta cần trích xuất các kiểu từ ví dụ Cảm xúc. Đối với điều này, chúng ta cần chia sẻ cùng một cấu hình bộ đệm cho cả máy khách và máy chủ 1 Bản sao (hoặc $keyC)Với điều này, chúng tôi đang tạo một phiên bản bộ đệm Cảm xúc mới và sử dụng phiên bản này để trích xuất các kiểu quan trọng cho html Chúng ta sẽ thấy điều này được truyền như thế nào trong hàm 2Tiêm thành phần ban đầu HTML và CSSBước cuối cùng ở phía máy chủ là đưa HTML và CSS thành phần ban đầu vào một mẫu để được hiển thị ở phía máy khách Bản sao (hoặc $keyC)Phía khách hàngPhía khách hàng là đơn giản. Tất cả những gì chúng ta cần làm là sử dụng cấu hình bộ đệm giống như cấu hình phía máy chủ. Cùng xem qua tệp khách hàng 3triển khai tham khảoChúng tôi lưu trữ các triển khai tham chiếu khác nhau mà bạn có thể tìm thấy trong kho lưu trữ GitHub trong thư mục 4 Kết xuất phía máy chủ là phương pháp phổ biến nhất để hiển thị thông tin trên màn hình. Hoạt động bằng cách chuyển đổi các tệp HTML trong máy chủ thành thông tin sử dụng cho trình duyệt Bất kể khi nào bạn truy cập web, trình duyệt yêu cầu máy chủ trả về nội dung trên trang web. Yêu cầu thông thường chỉ mất vài mili giây, nhưng điều đó cũng phụ thuộc vào yếu tố vô số
Trang web của bạn đang được tối ưu như thế nào ?Khi yêu cầu được xử lý xong, trình duyệt của bạn sẽ lấy lại 0 được hiển thị đầy đủ và hiển thị nó ra màn hình. Nếu sau đó bạn quyết định truy cập một trang web khác, trình duyệt của bạn sẽ gửi lại một 1 khác về thông tin mới. Điều này sẽ xảy ra mỗi lần truy cập một trang mà trình duyệt không có phiên bản lưu trong 2Sẽ không có vấn đề gì nếu trang mới chỉ có một vài mục khác với trang hiện tại, trình duyệt sẽ yêu cầu toàn bộ trang mới và sẽ hiển thị lại mọi thứ từ đầu Ví dụ bạn truy cập trang web có địa chỉ là 3 với cấu trúc DOM như sau
Nếu bạn nhập địa chỉ trang web vào trình duyệt của bạn. Trình duyệt tưởng tượng của bạn sẽ đưa ra yêu cầu đến máy chủ đang được sử dụng bởi URL đó và mong đợi phản hồi của một số văn bản sẽ hiển thị trên trình duyệt. Trong trường hợp này, bạn sẽ thấy trực quan sẽ là tiêu đề, nội dung đoạn văn và liên kết Bây giờ, giả sử rằng bạn muốn nhấp vào liên kết từ trang được hiển thị có chứa 4 sau đây________số 8Sự khác biệtSự khác biệt duy nhất giữa trang trước và trang này là trang này không có liên kết và thay vào đó có một đoạn khác
Thật tiếc là đây không phải cách thức hoạt động của 5
Điều này không thành vấn đề lớn đối với 2 ví dụ này, nhưng hầu hết các trang web không đơn giản như vậy. Các trang web hiện đại có hàng trăm dòng mã và phức tạp hơn nhiều. Hãy tưởng tượng việc chờ duyệt một trang web và phải từng trang để hiển thị khi điều hướng trang web. Nếu bạn truy cập một trang xây dựng bằng WordPress, bạn có thể thấy chúng chậm như thế nào. This also was coi as a lí do Về mặt tích cực, 0 tốt cho 1. Với 2 thì không hề đơn giản như vậyKết xuất phía máy kháchSau khi nói về Server-side. Chúng ta nói đến 2 đã hiển thị nội dung trong trình duyệt bằng 4. Vì vậy thay vì phải lấy tất cả nội dung từ tài liệu chính 0, Bạn chỉ cần một tệp 0 đơn giản với 4 sẽ hiển thị phần còn lại của trang web bằng trình duyệtĐây là cách tiếp cận đối thủ cạnh tranh mới với 8, và nó không thực sự là biến phổ biến cho đến khi các thư viện của 4 bắt đầu kết hợpQuay lại trang web ở trên, giả sử bạn hiện có tệp 70 với mã như sau 7Bạn có thể thấy ngay rằng có một số thay đổi lớn đối với cách chỉ mục. html hoạt động khi sử dụng _______ 82 Đối với người mới bắt đầu, thay vì có nội dung bên trong 0, bạn có một 73 với id là 74. Bạn 75 2 đoạn 76 là một thư viện 4 78 và một tệp có tên 79Điều này hoàn toàn khác so với việc sử dụng 0 vì máy chủ hiển thị chịu trách nhiệm tải khung của trang web. Mọi thứ khác được xử lý bởi thư viện 4 phía 92– trong ví dụ này là 93Nếu bạn chỉ yêu cầu URL chỉ với đoạn 4 trên. Bạn sẽ nhận được một trang trắng, không có gì để tải xuống vì nội dung thực tế cần được hiển thị bằng 4Để sửa điều đó, bạn sẽ đặt dòng mã sau vào tệp 79 9Bây giờ nếu bạn truy cập URL, bạn sẽ thấy nội dung giống như bạn đã làm ví dụ với 97Sự khác biệt
Bạn đang 98 bằng trình duyệt, hãy làm điều đó, nó sẽ sử dụng JavaScript để tải nội dung mới và Vue. js sẽ đảm bảo rằng chỉ nội dung mới được hiển thị. Mọi thứ khác đều được giữ nguyên
Tuy nhiên, có một số sự thay đổi theo cách sử dụng 2. Do nội dung không được hiển thị cho đến khi trang được tải xuống trình duyệt. Vì vậy 1 cho trang web sẽ là vấn đề lớn. Có nhiều cách để giải quyết vấn đề này, nhưng nó không dễ dàng như với 0Ưu và nhược điểm của từng phương phápỞ trên ta giải thích là cách mà 2 phương pháp Server-side và Client-side hoạt động. giờ là sự lựa chọn của bạn, xem đâu là giải pháp cho trang web của bạn. Dưới đây là bảng phân tích ưu điểm và nhược điểm cho từng phương pháp Ưu điểm Phía máy chủ
Nhược điểm Server-side
Ưu điểm Phía khách hàng
Nhược điểm Phía khách hàng
Kết luậnNhư vậy chúng ta vừa đi qua cách hoạt động của trang web dựa trên 2 phương pháp là 0 và 2. Tùy vào yêu cầu đối với mỗi trang web mà bạn có thể có sự lựa chọn hợp lý cho riêng mình |