Bagaimana
@Scripts.Render("~/bundles/jquery")
berbeda dengan hanya mereferensikan skrip dari html seperti ini
<script src="~/bundles/jquery.js" type="text/javascript"></script>
Apakah ada keuntungan kinerja?
asp.net-mvc-4
asp.net-optimization
Tom Squires
sumber
sumber
Jawaban:
Bundling adalah tentang mengompresi beberapa file JavaScript atau stylesheet tanpa memformat apa pun (juga disebut dengan minified) menjadi satu file untuk menyimpan bandwidth dan jumlah permintaan untuk memuat halaman.
Sebagai contoh, Anda dapat membuat bundel Anda sendiri:
Dan render seperti ini:
Satu lagi kelebihan dari
@Scripts.Render("~/bundles/mybundle")
yang asli<script src="~/bundles/mybundle" />
adalah yang@Scripts.Render()
akan menghargaiweb.config
pengaturan debug:Jika
debug="true"
demikian, ia akan membuat tag skrip individual untuk setiap skrip sumber, tanpa minifikasi apa pun.Untuk stylesheet Anda harus menggunakan StyleBundle dan @ Styles.Render ().
Alih-alih memuat setiap skrip atau gaya dengan satu permintaan (dengan skrip atau tag tautan), semua file dikompresi menjadi file JavaScript atau stylesheet tunggal dan dimuat bersama.
sumber
Anda juga bisa menggunakan:
Untuk menentukan format output Anda dalam skenario di mana Anda perlu menggunakan Charset, Type, dll.
sumber
async
atribut.@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")