Cho rằng
- CDN là một điều tốt vì chúng có thể phục vụ các tài nguyên gần hơn với máy khách, máy khách có thể lưu trữ chúng và bạn có thể giảm tải trên máy chủ của riêng mình.
- Trong các trình duyệt gần đây, tải tài nguyên từ máy chủ của bên thứ ba không làm giảm tính bảo mật nhờ tính toàn vẹn của nguồn cung cấp phụ (SRI) .
- CDN có thể bị ngừng hoặc bị chặn ở một số quốc gia và không khả dụng khi phát triển ngoại tuyến 1 .
Tôi nghĩ việc sử dụng CDN là bắt buộc, nhưng cũng phải chuẩn bị cho chúng là không có sẵn. Bài đăng trên blog này giới thiệu tốt về các phương pháp khác nhau để cung cấp dự phòng. Nếu bạn nhìn vào ví dụ Cơ bản , bạn có thể thấy rằng nó đã chứa khá nhiều mã soạn sẵn để cung cấp dự phòng cho chỉ jQuery và Bootstrap, trong khi giải pháp được ưa thích cho thấy sử dụng Fallback.js , dường như hầu như không được biết đến trong năm qua . Tương tự, câu hỏi SO phù hợp nhất cho chủ đề chỉ là về việc cung cấp dự phòng cho jQuery.
Tuy nhiên, trong hầu hết các dự án trong thế giới thực, tôi dự kiến sẽ có 5 tài nguyên js / css trở lên, vì vậy tôi cảm thấy như bạn không cần phải lặp lại một số bản tóm tắt lộn xộn để cung cấp dự phòng cho tất cả chúng. Hơn nữa, mỗi khi bạn thêm hoặc cập nhật tài nguyên, bây giờ bạn phải
- Cập nhật liên kết CDN
- Cập nhật bản sao dự phòng cục bộ bằng cách tải xuống thủ công hoặc thay đổi phiên bản trong cấu hình npm / bower
- Cập nhật liên kết đến dự phòng
- Cập nhật hàm băm SRI
Trong thế giới lý tưởng , tôi mong đợi sẽ thêm / cập nhật tài nguyên trong một tệp cấu hình và để tất cả các bước khác thực hiện tự động (và sau đó chạy thử nghiệm để xem liệu bản cập nhật có phá vỡ gì không).
Đã có một quy trình làm việc được thiết lập để đạt được điều này?
Hay là CDN, và đặc biệt là SRI, vẫn còn quá gần đây?
Hay hầu hết mọi người chỉ đơn giản là không quan tâm đến việc cung cấp dự phòng cho tài nguyên CDN?
1. Mặc dù bạn có thể có một bản dựng dev không dựa vào CDN, nhưng tôi cũng coi đó là một dạng dự phòng, vì nó cũng cần được duy trì.
Fallback.js
bỏ dở vì nó đã hoạt động hoàn hảo? Phần mềm không phải thay đổi cứ sau 5 phút nếu nó hoạt động.