Cập nhật chỉ mục html góc
Nếu bạn muốn gắn bó với 2 tiêu chuẩn trong khi phân phối cục bộ bằng cách muốn có các tệp 3 chuyên biệt cho mỗi cấu hình thử nghiệm/sản xuất (như trong trường hợp của tôi, nơi các đoạn mã Google Analytics khác nhau đã được áp dụng), hãy làm điều đó một cách đơn giản Show
5 6
Trước đây, chúng tôi đã kết thúc với quan điểm rằng tải lại trang web để thay đổi ngôn ngữ sẽ tốt hơn là thay đổi ở phía khách hàng. Có một vài vấn đề với việc không làm mới
Những điều đó có thể không đủ để thuyết phục bạn, trong mọi trường hợp, ngôn ngữ tải lại ứng dụng là rẻ, vì người dùng sẽ không thường xuyên làm điều đó. Hôm nay, chúng tôi sẽ điều chỉnh máy chủ của mình để phục vụ các biểu định kiểu khác nhau dựa trên ngôn ngữ Mã này có trên StackBlitz neo RTL so với LTRKhi tạo các phiên bản bản địa hóa cho các ngôn ngữ RTL, có một số thay đổi nữa cần được thực hiện trên 3 và vì hiện tại chúng tôi có các công cụ HTML, chúng tôi có thể thay thế nhiều thứ hơn là chỉ 4thay thế phong cáchBiểu định kiểu theo mặc định được đưa vào Angular. Để máy chủ chọn một biểu định kiểu khác, trước tiên chúng ta phải tắt tính năng tự động nhập biểu định kiểu
Cấu hình tối ưu hóa cho các kiểu, cho phép 5. Cái nào sẽ nội tuyến hai 6 được bao gồm, đó không phải là thứ chúng tôi muốn bây giờ, vì vậy chúng tôi tắt nó điTrong ứng dụng không dựa trên URL Trong máy chủ tốc hành của chúng tôi, dòng sau trong tốc độ phải cao hơn mô-đun tĩnh tốc độ
Trong ứng dụng dựa trên URL
3 sẽ có một liên kết vững chắc 8Đối với phông chữ, chúng tôi có hai tùy chọn, buồn vui lẫn lộn. Nếu chúng tôi sử dụng các đoạn mã được đề xuất về phông chữ của Google 01. Nhập trực tiếp URL phông chữ theo kiểu chínhNếu chúng ta nhập phông chữ trực tiếp vào các kiểu, biểu định kiểu bên ngoài sẽ đợi cho đến khi biểu định kiểu sẵn sàng, làm cho phông chữ có sẵn ít hơn đúng lúc. Vì vậy, hãy thực hiện một giải pháp thay thế và nhập các kiểu trong biểu định kiểu của riêng nó 2. Nhập trong một biểu định kiểu riêng (phông chữ. css)Tùy chọn này tốt hơn một chút vì tệp phông chữ sẽ chỉ có một lần nhập và quá trình tải xuống phông chữ sẽ bắt đầu ngay khi biểu định kiểu được tải và phông chữ được yêu cầu Hãy tạo một tệp 9 mới, thêm vào 0 và viết đường dẫn nhanh cho cả 1 4Thêm nó nguyên trạng vào 3 6 3 và 4 mà bạn sẽ tạo trong quá trình phát triển và đưa vào bản dựng chỉ có một câu lệnh nhập duy nhất 9Cuối cùng, các đường dẫn nhanh tương tự như các đường dẫn kiểu 0Đối với SSR, mọi thứ vẫn như vậy, nhưng có một vấn đề nhỏ chúng tôi cần khắc phục trước Trường hợp tò mò của inlineCriticalCSS trong Angular SSRKhi triển khai những điều trên và chạy cho ssr, được hiển thị qua 5, quy trình diễn ra như sau
Đó là một lựa chọn tuyệt vời về phía máy chủ, nhưng 7 không tồn tại (cũng không nên có). Vì vậy, chúng ta phải làm mà không có nó. Vấn đề duy nhất là thông báo 404 đáng ghét xuất hiện trong nhật ký máy chủĐể khắc phục điều đó, sau khi tìm hiểu sâu một chút về các tệp đã biên dịch, css quan trọng nội tuyến trên máy chủ là một tùy chọn không có giấy tờ cho 5 6Trước khi chúng tôi áp dụng tính năng không có giấy tờ (do đó không đáng tin cậy) này và bỏ qua tính năng hay của nội tuyến css quan trọng trên máy chủ, hãy tiếp tục với một tùy chọn khác Tự tạo lại app.get('/styles.css', (req, res) => {
// reroute to either styles.ltr or styles.rtl
if (res.locals.lang === 'ar') {
res.sendFile(config.rootPath + 'client/styles.rtl.css');
} else {
res.sendFile(config.rootPath + 'client/styles.ltr.css');
}
}); |