10

tengo la intención de poner en práctica una solución para combinar múltiples archivos css/js en archivos individuales en mi proyecto MVC, pero actualmente dudar entre las dos posibilidades siguientes:¿Alguna experiencia combinando JS/CSS en MVC?

Extensiones Telerik para ASP.NET MVC (www. telerik.com/products/aspnet-mvc.aspx)

  • Soporta combinar múltiples archivos en un pedido
  • Soporta grupos de activos web
  • apoya a los grupos de almacenamiento en caché
  • almacenamiento en caché es desactivada cuando la aplicación está en modo de depuración
  • grupos de activos deben estar definidas en masterpage o vista (parcial)
  • compatible con la compresión GZip
  • Soporta CDN
  • más que solamente un/solución combinando la compresión (por ejemplo, . ayudantes JQuery)

Combres - WebForm & MVC de recursos del lado del cliente Combine Biblioteca (combres.codeplex.com)

  • Soporta combinar múltiples archivos en un pedido
  • Soporta recursos minifying
  • Admite grupos de activos web
  • Admite el almacenamiento en caché de los grupos
  • Sup versiones puertos de grupos (invalida la caché del navegador y la caché del servidor)
  • Soporta debugmode (deshabilita el almacenamiento en caché/minifying)
  • grupos de activos debe estar definido en una sección de web.config
  • Soporta compresión gzip
  • Una ruta personalizada hay que añadir
  • Soporta filtros personalizados
  • utiliza la biblioteca YUI Compresor

¿alguien tiene experiencia w con una de estas o quizás otra solución de combinación? Estoy particularmente interesado en los puntajes de YSlow (antes y después) y/o las estadísticas de compresión/actuaciones.

+0

Pensé que menos personas estaban fusionando este tipo de archivos en 1 porque los navegadores más nuevos pueden descargarlos en paralelo hoy. Además, las áreas que pertenecen a diferentes partes del sitio pueden cargarse más rápido y luego almacenarse en caché para la próxima vez que se necesiten. Esto incluso ayuda a evitar algunas colisiones de JavaScript. Creo que esa categoría de YSlow está un poco pasada de moda. – David

+0

Estoy de acuerdo con usted en que combinar todos los archivos en 1 ya no es la opción más eficiente debido a las conexiones en paralelo, pero todavía tenemos una cantidad razonable de

Respuesta

1

¿Está planeando utilizar las extensiones de Telerik MVC cuando estén disponibles? Si es así, entonces su script combiner parece una opción natural, ya que sus widgets se integran con él ...

Si va a utilizar recursos de script y css de varias fuentes, ¿qué tal un buen anticuado? construir script en su entorno de construcción de elección?

  • En general, es fácil configurar una herramienta de compilación para combinar archivos de texto y ejecutar compresores externos.
  • El uso de una herramienta de compilación es una opción natural para la integración continua y la implementación en un solo paso.
  • Y usted puede hacer fácilmente servicio de archivos estáticos desde un separate cookie-less domain para obtener la máxima velocidad de descarga y una sobrecarga de servidor mínima.
  • Y facilitará la adición de una CDN más adelante, si es necesario. (Solución que yo sepa Teleriks puede enlazar a un archivo ya está disponible en un CDN, pero no puede minify un archivo local y subirlo a un CDN.)

estoy particularmente interesado en las puntuaciones YSlow (antes y después) y/o estadísticas de compresión/actuaciones.

No se preocupe demasiado por unas pocas diferencias porcentuales en la compresión lograda, o un único encabezado HTTP que no es estrictamente necesario. Si solo combina archivos cuando sea posible, minimice el espacio en blanco, habilite la compresión HTTP y establezca los encabezados de almacenamiento en caché adecuados; entonces usted está muy por delante del sitio web promedio por ahí ...

Si prefiere mantener la minificación dentro de MVC,, entonces se reduce a la madurez de la biblioteca en mi humilde opinión. No sé cuál debería ser la mejor opción en este momento. Pero echa un vistazo a IncludeCombiner también; es part of MVCContrib now, y como tal obtendrá una buena dosis de exposición en el futuro.

+0

Decidí usar la nueva versión de Web Asset Manager de Telerik MVC Extensions, principalmente debido a las opciones adicionales de la última versión (por ejemplo, definir grupos de activos con fluidez en el código o en la configuración web). También ya usamos los componentes de telerik y espero y espero que muchos de estos componentes (asp.net ajax) se vuelvan "amigables con MVC" en el futuro cercano y utilicen la misma solución de Administración de Activos Web. –

1

Estoy usando this approach (en realidad, creo que eso es lo que tiene telerik debajo).
Funciona como un encanto.

+0

Sí, creo que las Extensiones Telerik para ASP.NET MVC se basan en ese enfoque, con algunas posibilidades más. –

+0

Pero no puedo dar una respuesta real, porque no he usado Combres. Simplemente no era necesario. :) –

+0

@Arnis L: Sí, Kazi Manzur es uno de los desarrolladores de las Extensiones Telerik MVC, así que sí, eso es lo que Telerik usa (en una versión ligeramente actualizada ahora). –

3

Puede usar MvcContrib.IncludeHandling. Soporta:

  • Combinación de varios archivos en una sola solicitud
  • Combinar CSS
  • Combinando JS
  • el modo de depuración a través de MvcContrib.Filters.DebugFilter
  • Cache-encabezados
  • gzip/desinflado de compresión
  • Configuración
  • Intercambio de las implementaciones predeterminadas de t Las partes dependen de sus propias implementaciones (por ejemplo; intercambie el caché con su propia implementación)
  • El registro se incluye tanto en vistas como en patrones: ignorará los registros duplicados.

Todo sucede en tiempo de ejecución; no se requieren pasos de compilación, etc. No se requiere una ruta personalizada. Utiliza YUICompressor.

+0

Oh, duh; no leí que ya lo habías verificado. :-) –

Cuestiones relacionadas