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?
asp.net-mvc-4
asp.net-optimization
Tom Squires
la source
la source
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:
Et rendez-le comme ceci:
Un autre avantage par
@Scripts.Render("~/bundles/mybundle")
rapport au natif<script src="~/bundles/mybundle" />
est qu'il@Scripts.Render()
respectera leweb.config
paramètre de débogage: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.
la source
Vous pouvez aussi utiliser:
Pour spécifier le format de votre sortie dans un scénario où vous devez utiliser Charset, Type, etc.
la source
async
attribut.@Scripts.RenderFormat("<script type=\"text/javascript\" async src=\"{0}\"></script>", "~/bundles/mybundle")