Comment
@Scripts.Render("~/bundles/jquery")
diffèrent de simplement référencer le script de html comme celui-ci
<script src="~/bundles/jquery.js" type="text/javascript"></script>
Y a-t-il des gains de performances?
Comment
@Scripts.Render("~/bundles/jquery")
diffèrent de simplement référencer le script de html comme celui-ci
<script src="~/bundles/jquery.js" type="text/javascript"></script>
Y a-t-il des gains de performances?
Réponses:
Le regroupement consiste à compresser plusieurs fichiers JavaScript ou feuilles de style sans aucun formatage (également appelé minifié) en un seul fichier pour économiser la bande passante et le nombre de demandes de chargement d'une page.
Par exemple, vous pouvez créer votre propre bundle:
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"))
Et rendez-le comme ceci:
@Scripts.Render("~/bundles/mybundle")
Un autre avantage par @Scripts.Render("~/bundles/mybundle")
rapport au natif <script src="~/bundles/mybundle" />
est qu'il @Scripts.Render()
respectera le web.config
paramètre de débogage:
<system.web>
<compilation debug="true|false" />
Si debug="true"
c'est le cas, il rendra des balises de script individuelles pour chaque script source, sans aucune minification.
Pour les feuilles de style, vous devrez utiliser un StyleBundle et @ Styles.Render ().
Au lieu de charger chaque script ou style avec une seule demande (avec des balises de script ou de lien), tous les fichiers sont compressés dans un seul fichier JavaScript ou feuille de style et chargés ensemble.
Vous pouvez aussi utiliser:
@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\"></script>", "~/bundles/mybundle")
Pour spécifier le format de votre sortie dans un scénario où vous devez utiliser Charset, Type, etc.
async
attribut.
@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")