มูลค่าของ CDN ขึ้นอยู่กับความเป็นไปได้ที่ผู้ใช้เคยไปที่ไซต์อื่นที่เรียกไฟล์เดียวกันจาก CDN นั้นและจะมีค่ามากขึ้นตามขนาดของไฟล์ ความเป็นไปได้ที่จะเกิดกรณีนี้เพิ่มขึ้นตามความแพร่หลายของไฟล์ที่ร้องขอและความนิยมของ CDN
ด้วยเหตุนี้การดึงไฟล์ที่ค่อนข้างใหญ่และเป็นที่นิยมจาก CDN ที่เป็นที่นิยมจึงเหมาะสมอย่างยิ่ง jQuery และในระดับที่น้อยกว่า jQuery UI จะพอดีกับใบเรียกเก็บเงินนี้
ในขณะเดียวกันการต่อไฟล์เข้าด้วยกันก็สมเหตุสมผลสำหรับไฟล์ขนาดเล็กซึ่งไม่น่าจะเปลี่ยนแปลงมากนักปลั๊กอินที่คุณใช้กันทั่วไปจะพอดีกับใบเรียกเก็บเงินนี้ แต่รหัสเฉพาะแอปพลิเคชันหลักของคุณอาจไม่ได้: อาจมีการเปลี่ยนแปลงในแต่ละสัปดาห์และถ้าคุณ ' เมื่อเชื่อมต่อกับไฟล์อื่น ๆ ทั้งหมดของคุณคุณจะต้องบังคับให้ผู้ใช้ดาวน์โหลดทุกอย่างอีกครั้ง
ต้นแบบ HTML5ทำงานได้ดีในการจัดหาโซลูชันทั่วไปสำหรับสิ่งนี้:
- Modernizr ถูกโหลดจาก local ในส่วนหัว: มันเล็กมากและแตกต่างกันมากในแต่ละอินสแตนซ์ดังนั้นจึงไม่สมเหตุสมผลที่จะจัดหามาจาก CDN และจะไม่ทำร้ายผู้ใช้มากเกินไปในการโหลดจากของคุณ เซิร์ฟเวอร์ มันอยู่ในหัวเนื่องจาก CSS อาจใช้ประโยชน์จากมันดังนั้นคุณต้องการให้เอฟเฟกต์เป็นที่รู้จักก่อนที่เนื้อหาจะแสดงผล สิ่งอื่น ๆ จะอยู่ที่ด้านล่างเพื่อหยุดสคริปต์ที่หนักกว่าของคุณบล็อกการแสดงผลในขณะที่โหลดและดำเนินการ
- jQuery จาก CDN เนื่องจากเกือบทุกคนใช้มันและค่อนข้างหนัก ผู้ใช้อาจมีแคชนี้อยู่แล้วก่อนที่จะเข้าชมไซต์ของคุณซึ่งในกรณีนี้พวกเขาจะโหลดจากแคชทันที
- การอ้างอิงของบุคคลที่สามที่มีขนาดเล็กและข้อมูลโค้ดที่ไม่น่าจะเปลี่ยนแปลงมากนักจะเชื่อมต่อกันเป็น
plugins.js
ไฟล์ที่โหลดจากเซิร์ฟเวอร์ของคุณเอง สิ่งนี้จะถูกแคชด้วยส่วนหัวการหมดอายุที่ห่างไกลในครั้งแรกที่ผู้ใช้เข้าชมและโหลดจากแคชในการเข้าชมครั้งต่อไป
- รหัสหลักของคุณจะเข้า
main.js
มาพร้อมกับส่วนหัวที่ใกล้หมดอายุมากขึ้นเพื่ออธิบายว่าตรรกะของแอปพลิเคชันของคุณอาจเปลี่ยนไปจากสัปดาห์เป็นสัปดาห์หรือเดือนต่อเดือน ด้วยวิธีนี้เมื่อคุณแก้ไขข้อบกพร่องหรือเปิดตัวฟังก์ชันใหม่เมื่อผู้ใช้เยี่ยมชมในช่วงสองสัปดาห์จากนี้สิ่งนี้สามารถโหลดได้ใหม่ในขณะที่เนื้อหาทั้งหมดข้างต้นสามารถนำเข้ามาจากแคช
สำหรับไลบรารีหลักอื่น ๆ ของคุณคุณควรดูทีละรายการและถามตัวเองว่าควรทำตามผู้นำของ jQuery โหลดทีละรายการจากเซิร์ฟเวอร์ของคุณเองหรือเชื่อมต่อกัน ตัวอย่างว่าคุณจะตัดสินใจอย่างไร:
- Angular เป็นที่นิยมอย่างไม่น่าเชื่อและมีขนาดใหญ่มาก รับจาก CDN
- Twitter Bootstrap อยู่ในระดับความนิยมที่ใกล้เคียงกัน แต่คุณมีส่วนประกอบที่ค่อนข้างบางและหากผู้ใช้ยังไม่มีมันก็อาจไม่คุ้มที่จะให้พวกเขาดาวน์โหลดไฟล์ทั้งหมด ต้องบอกว่าวิธีที่เหมาะกับส่วนที่เหลือของโค้ดของคุณนั้นค่อนข้างเป็นเนื้อแท้และคุณไม่น่าจะเปลี่ยนมันโดยไม่ต้องสร้างใหม่ทั้งไซต์ดังนั้นคุณอาจต้องการเก็บมันไว้ในเครื่อง แต่แยกไฟล์จาก หลัก
plugins.js
. ด้วยวิธีนี้คุณสามารถอัปเดตplugins.js
ส่วนขยาย Bootstrap ได้ตลอดเวลาโดยไม่ต้องบังคับให้ผู้ใช้ดาวน์โหลด Bootstrap core ทั้งหมด
แต่ไม่มีความจำเป็นระยะทางของคุณอาจแตกต่างกันไป