script net mvc bundleconfig asp and asp.net-mvc-4 asp.net-optimization

asp.net-mvc-4 - bundleconfig - bundles asp net mvc 4



¿Por qué usar @ Scripts.Render(“~/bundles/jquery”) (2)

La agrupación consiste en comprimir varios archivos JavaScript o hojas de estilo sin ningún formato (también denominado minified) en un solo archivo para guardar el ancho de banda y el número de solicitudes para cargar una página.

Como ejemplo puedes crear tu propio paquete:

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"))

Y hazlo así:

@Scripts.Render("~/bundles/mybundle")

Una ventaja más de @Scripts.Render("~/bundles/mybundle") sobre el <script src="~/bundles/mybundle" /> @Scripts.Render() es que @Scripts.Render() respetará la configuración de depuración web.config :

<system.web> <compilation debug="true|false" />

Si debug="true" , en su lugar, mostrará etiquetas de script individuales para cada script de origen, sin ningún tipo de minificación.

Para las hojas de estilo tendrá que usar un StyleBundle y @ Styles.Render ().

En lugar de cargar cada secuencia de comandos o estilo con una sola solicitud (con secuencias de comandos o etiquetas de enlace), todos los archivos se comprimen en un solo archivo de hoja de estilo o JavaScript y se cargan juntos.

Cómo

@Scripts.Render("~/bundles/jquery")

difieren de solo hacer referencia a la secuencia de comandos de HTML como este

<script src="~/bundles/jquery.js" type="text/javascript"></script>

¿Hay algún aumento de rendimiento?


También puedes usar:

@Scripts.RenderFormat("<script type=/"text/javascript/" src=/"{0}/"></script>", "~/bundles/mybundle")

Para especificar el formato de su salida en un escenario en el que necesita usar Charset, Type, etc.