2008-11-08 11 views
14

El equipo de ASP.NET lanzó la característica de combinación de scripts en 3.5 SP1 como se detalla aquí http://www.asp.net/Learn/3.5-SP1/video-296.aspx. ¿Ya hay una característica similar para el framework MVC? De lo contrario, ¿se trata de un alcance o es posible de alguna manera aprovechar la capacidad de formularios web en MVC? Veo que este sitio usa un jquery.package.master personalizado que, supongo, se han rodado (tal vez en el ciclo de compilación, sin embargo, no es minimo, por lo tanto, creo que han anexado manualmente los guiones en lugar de algunos minify automatizados & combinar tarea). Me interesaría cualquier idea de cómo lograr esto en MVC, pero no quiero comenzar a rodar ninguna de mis propias funcionalidades en caso de que esté duplicando el trabajo en progreso.ASP.NET MVC - Combinador de scripts

+0

El que marcó este abajo por favor no permanecer en silencio y decirle a la comunidad por qué :) me gustaría escuchar su problema con eso. – redsquare

+0

Me temo que algunas personas son simplemente punks, por desgracia. Es una buena pregunta. – MrBoJangles

Respuesta

7

Esto es lo que hago, en caso de que sea útil.

En mi postbuild llamo command line version de Dean Edwards's Packer. Combina los guiones y los empaqueta para mí.

Por ahora, mantengo todas mis cosas separadas y uso un método de Ayuda para incluir mis scripts, y si el indicador de depuración no está presente, incluirá las versiones empaquetadas, de lo contrario, incluye el paquete desempaquetado.

+0

no estoy seguro de que los empacaré, pero es una buena idea (los empaquetadores pueden causar problemas) y es mejor usar min + gzip. Si comienzas a descomprimir un archivo empaquetado, termina siendo más grande, como un zip de un zip. De todos modos, ahora estoy usando YUI como parte de mi proceso de compilación de TeamCity. Estabas en el camino correcto. – redsquare

+0

@redsquare: Buen punto. Tal vez Jeff esté interesado en la ocultación de códigos y en minimizar el tamaño del archivo. –

+0

Estás en lo correcto Roy que es/fue el propósito. Pero aprendí técnicas más inteligentes en los últimos 3 o más años desde que se hizo esta pregunta. :) –

3

Otra opción es en las Extensiones de interfaz de usuario nativa de Telerik para MVC (biblioteca libre y fuente abierta), llamada ScriptRegistar. Combinará y comprimirá javascript por usted, y es bastante rico en funciones. También hay una clase para hacer lo mismo para CSS también.

Estoy usando esto para combinar +20 archivos Javascript en un archivo que el navegador descarga.

http://www.telerik.com/products/aspnet-mvc.aspx y lo puede obtener a través de NuGet.

+0

Sí, es lo que uso ahora - ¡Esto no estaba disponible cuando escribí esta publicación hace muchas lunas! – redsquare

2

Todos los días hay una forma diferente de hacer las cosas y las técnicas cambian.

En este momento hay un muy buen paquete Nuget lanzado en CodePlex.

Combres - WebForm & MVC de recursos del lado del cliente Combinar Biblioteca
http://combres.codeplex.com/

http://weblogs.asp.net/gunnarpeipman/archive/2009/07/04/asp-net-mvc-how-to-combine-scripts-and-other-resources.aspx

+2

Cuando agregué Combres a mi proyecto (a través de NuGet), descubrí que monkeyed con mi web.config un poco demasiado. Utiliza log4net (que ya estoy usando), y agregó una sección log4net adicional incorrecta, así como un registrador que no quería. Algo a lo que hay que tener cuidado antes de confirmar los cambios del código de Combres en sus vcs. –