2011-07-08 20 views
6

En primer lugar, aunque soy consciente de que gzipping HTML probablemente tenga tanto (más?) De una ganancia de rendimiento como minificar HTML - estoy ciertamente intrigado por la la siguiente técnica podría funcionar, o si alguien ha hecho algo similar.ASP.Net MVC Razor Views - Minifying HTML at build time

Después de haber visto algunos de los trabajos realizados por otros en pre-compiling MVC Razor views, me preguntaba si es posible hasta cierto vías inyectar un evento previo a la construcción de un proceso tal manera que HTML puede ser minifyed, antes de esa fecha que se está construyendo en una solo DLL?

¿O hay otra manera de minimizar en tiempo de compilación?

He visto a varias personas idear formas de minimizar mediante técnicas de tiempo de ejecución, pero para mí eso parece estar en contra del propósito de reducir el tamaño de HTML en primer lugar (velocidad de ejecución).

Respuesta

8

La reducción de las vistas de la maquinilla de afeitar en el momento de la compilación no tendría sentido ya que no son marcas finales. Lo que sea que hayas minimizado durante el tiempo de compilación se romperá en el tiempo de ejecución cuando todos los ayudantes escupen su HTML. Entonces, si realmente quieres reducir tu uso de ancho de banda, el primer paso es hacer gzip. El beneficio será enorme. Y si eres un maníaco y quieres arañar algunos bytes más, minimiza el tiempo de ejecución de HTML. Te recomendaría el Meleze.Web NuGet para este propósito.

Pero recuerde: haga lo que haga, realice extensas pruebas de carga de su aplicación antes de enviarla. De esta manera sabrá lo que funciona mejor para usted.

+0

Meleze.Web es un buen proyecto, pero no puede minify secciones sobre sus puntos de vista por desgracia - sólo el cuerpo principal – Cheburek

+1

Si desea minify también las secciones ver https://github.com/Chebur9tina/HtmlOptimizerMvc4 – Cheburek

+1

minifying en construcción el tiempo tiene perfecto sentido. Sería bueno minimizar el marcado HTML preexistente en la página, porque la cantidad excesiva de espacios en blanco que generan las páginas Razor puede convertirse en un problema. – rookie1024

1

Minificar el código HTML es mucho menos efectivo que minificar JavaScript - muy pocos elementos para reducir. Es por eso que rara vez lo hace.

+1

Esto depende de la estructura de su sitio. Si tienes JS-heavy o HTML-heavy, sí importa. – SliverNinja

+0

Por supuesto, importa si tal es el caso, pero como dice Boris Yankov, generalmente no importa. En mi caso, apenas salvaría 200 bytes de datos –