ระบุว่า
- CDN เป็นสิ่งที่ดีเพราะพวกเขาสามารถให้บริการทรัพยากรใกล้ชิดกับไคลเอนต์ลูกค้าสามารถแคชพวกเขาและคุณสามารถลดภาระบนเซิร์ฟเวอร์ของคุณเอง
- ในเบราว์เซอร์ที่ผ่านมาทรัพยากรโหลดจากเซิร์ฟเวอร์ของบุคคลที่สามไม่ได้ลดลงขอบคุณรักษาความปลอดภัยเพื่อSubresource Integrity (SRI)
- CDNs อาจจะลดลงหรือถูกปิดกั้นในบางประเทศและไม่สามารถใช้ได้เมื่อมีการพัฒนาแบบออฟไลน์1
ฉันคิดว่ามันน่าสนใจที่จะใช้ CDN แต่ก็พร้อมที่จะให้พวกเขาใช้งานไม่ได้ โพสต์บล็อกนี้ให้คำแนะนำที่ดีเกี่ยวกับวิธีการต่างๆ หากคุณดูตัวอย่างพื้นฐานคุณจะเห็นว่ามันมีโค้ดสำเร็จรูปจำนวนเล็กน้อยอยู่แล้วเพื่อจัดเตรียมทางเลือกสำหรับ jQuery และ Bootstrap ในขณะที่โซลูชันที่ได้รับความนิยมแนะนำให้ใช้Fallback.jsซึ่งดูเหมือนจะไม่มีการเปลี่ยนแปลงในปีที่ผ่านมา . ในทำนองเดียวกันคำถาม SO ที่เกี่ยวข้องมากที่สุดสำหรับหัวข้อเป็นเพียงการให้ทางเลือกสำหรับ jQuery
อย่างไรก็ตามในโครงการโลกแห่งความเป็นจริงฉันคาดหวังว่าจะมีทรัพยากร js / css 5 รายการขึ้นไปดังนั้นฉันรู้สึกว่าคุณไม่จำเป็นต้องทำซ้ำแผ่นบาง ๆ ที่ยุ่งเหยิงเพื่อมอบทางเลือกทั้งหมด นอกจากนี้ทุกครั้งที่คุณเพิ่มหรืออัปเดตทรัพยากรคุณจะต้อง
- อัปเดตลิงค์ CDN
- อัพเดตสำเนา fallback โลคัลโดยดาวน์โหลดด้วยตนเองหรือเปลี่ยนเวอร์ชันในการกำหนดค่า npm / bower
- อัปเดตลิงก์ไปที่ทางเลือก
- อัปเดตแฮช SRI
ในขณะที่ในอุดมคติของโลกฉันคาดว่าจะเพิ่ม / อัปเดตทรัพยากรในไฟล์การกำหนดค่าหนึ่งไฟล์และให้ขั้นตอนอื่นทั้งหมดดำเนินการโดยอัตโนมัติ
มีเวิร์กโฟลว์ที่กำหนดไว้แล้วเพื่อให้บรรลุเป้าหมายนี้หรือไม่?
หรือ CDNs และโดยเฉพาะอย่างยิ่ง SRI ยังเร็วเกินไป?
หรือคนส่วนใหญ่ไม่สนใจที่จะให้ทางเลือกอื่นสำหรับทรัพยากร CDN หรือไม่?
1. ถึงแม้ว่าคุณจะมีรุ่น dev ที่ไม่ได้พึ่งพา CDN แต่ฉันก็คิดว่ารูปแบบทางเลือกเนื่องจากมันต้องได้รับการบำรุงรักษาด้วย
Fallback.js
ไม่ถูกทำให้ไร้ประโยชน์เพราะมันใช้งานได้ดีอย่างสมบูรณ์หรือไม่ ซอฟต์แวร์ไม่จำเป็นต้องเปลี่ยนทุก 5 นาทีหากใช้งานได้