Jak
@Scripts.Render("~/bundles/jquery")
różnią się od zwykłego odwoływania się do skryptu z html w ten sposób
<script src="~/bundles/jquery.js" type="text/javascript"></script>
Czy są jakieś wzrosty wydajności?
asp.net-mvc-4
asp.net-optimization
Tom Squires
źródło
źródło
Odpowiedzi:
W pakiecie chodzi o kompresowanie kilku plików JavaScript lub arkuszy stylów bez żadnego formatowania (zwanego również „minified”) w jednym pliku w celu zapisania pasma i liczby żądań załadowania strony.
Jako przykład możesz stworzyć swój własny pakiet:
I renderuj tak:
Kolejną zaletą
@Scripts.Render("~/bundles/mybundle")
nad rodzimym<script src="~/bundles/mybundle" />
jest to, że@Scripts.Render()
uszanujeweb.config
ustawienie debugowania:Jeśli
debug="true"
tak, to zamiast tego renderuje pojedyncze znaczniki skryptu dla każdego skryptu źródłowego, bez żadnych minimalizacji.W przypadku arkuszy stylów będziesz musiał użyć StyleBundle i @ Styles.Render ().
Zamiast ładowania każdego skryptu lub stylu za pomocą jednego żądania (ze znacznikami skryptu lub łącza) wszystkie pliki są kompresowane do jednego pliku JavaScript lub arkusza stylów i ładowane razem.
źródło
Możesz także użyć:
Aby określić format wyniku w scenariuszu, w którym należy użyć zestawu znaków, typu itp.
źródło
async
atrybut.@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")