ได้อย่างไร
@Scripts.Render("~/bundles/jquery")
แตกต่างจากการอ้างอิงสคริปต์จาก html เช่นนี้
<script src="~/bundles/jquery.js" type="text/javascript"></script>
มีประสิทธิภาพเพิ่มขึ้นหรือไม่?
ได้อย่างไร
@Scripts.Render("~/bundles/jquery")
แตกต่างจากการอ้างอิงสคริปต์จาก html เช่นนี้
<script src="~/bundles/jquery.js" type="text/javascript"></script>
มีประสิทธิภาพเพิ่มขึ้นหรือไม่?
คำตอบ:
การรวมเป็นข้อมูลเกี่ยวกับการบีบอัดไฟล์ JavaScript หรือ stylesheets หลายไฟล์โดยไม่มีการจัดรูปแบบ (หรือเรียกว่าย่อขนาด) ลงในไฟล์เดียวสำหรับการบันทึกแบนด์วิดท์และจำนวนคำขอที่จะโหลดหน้าเว็บ
ตัวอย่างเช่นคุณสามารถสร้างมัดของคุณเอง:
bundles.Add(New ScriptBundle("~/bundles/mybundle").Include(
"~/Resources/Core/Javascripts/jquery-1.7.1.min.js",
"~/Resources/Core/Javascripts/jquery-ui-1.8.16.min.js",
"~/Resources/Core/Javascripts/jquery.validate.min.js",
"~/Resources/Core/Javascripts/jquery.validate.unobtrusive.min.js",
"~/Resources/Core/Javascripts/jquery.unobtrusive-ajax.min.js",
"~/Resources/Core/Javascripts/jquery-ui-timepicker-addon.js"))
และทำให้มันเป็นเช่นนี้:
@Scripts.Render("~/bundles/mybundle")
ข้อได้เปรียบอีกข้อหนึ่งของ@Scripts.Render("~/bundles/mybundle")
ภาษาที่ใช้<script src="~/bundles/mybundle" />
คือ@Scripts.Render()
การweb.config
ตั้งค่าการแก้ไขข้อบกพร่อง:
<system.web>
<compilation debug="true|false" />
หากเป็นเช่นdebug="true"
นั้นจะแสดงแท็กสคริปต์แต่ละแท็กแทนสคริปต์ต้นฉบับแต่ละรายการโดยไม่มีการลดขนาดลง
สำหรับสไตล์ชีตคุณจะต้องใช้ StyleBundle และ @ Styles.Render ()
แทนที่จะโหลดแต่ละสคริปต์หรือสไตล์ด้วยคำขอเดียว (พร้อมแท็กสคริปต์หรือลิงก์) ไฟล์ทั้งหมดจะถูกบีบอัดลงในไฟล์ JavaScript หรือสไตล์ชีทเดียวและโหลดเข้าด้วยกัน
คุณยังสามารถใช้:
@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\"></script>", "~/bundles/mybundle")
เพื่อระบุรูปแบบของผลลัพธ์ของคุณในสถานการณ์ที่คุณต้องใช้ Charset, Type, ฯลฯ
async
คุณสมบัติ
@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")