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?
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?
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:
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"))
I renderuj tak:
@Scripts.Render("~/bundles/mybundle")
Kolejną zaletą @Scripts.Render("~/bundles/mybundle")
nad rodzimym <script src="~/bundles/mybundle" />
jest to, że @Scripts.Render()
uszanuje web.config
ustawienie debugowania:
<system.web>
<compilation debug="true|false" />
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.
Możesz także użyć:
@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\"></script>", "~/bundles/mybundle")
Aby określić format wyniku w scenariuszu, w którym należy użyć zestawu znaków, typu itp.
async
atrybut.
@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")