Pregunta

Actualmente estoy trabajando en un prototipo de solución ASP.NET MVC 3 que se utilizará como base para varias reescrituras de proyectos (desde formularios web).

Uno de los objetivos que tengo es implementar algo de administración de scripts en la aplicación en lugar de ninguno que tenemos actualmente.

MVC 3 tiene un defecto en mi humilde opinión: si necesita un script específico especificado en una vista parcial o vista de plantilla, puede terminar perdiendo el control sobre dónde se encuentra el bloque de script en HTML renderizado o teniendo que especifique cada archivo javascript dependiente en la vista principal.

He estado considerando seriamente usar http://getcassette.net/ como marco para resolver el problema descrito. Sin embargo, el último lanzamiento de MVC4 beta me hizo dudar de mí mismo nuevamente: los paquetes de MVC se ven muy similares a los paquetes de cassette y estoy confundido nuevamente:

  1. ¿Debería implementar el casete ahora y luego migrar a los paquetes MVC4?

  2. ¿Debería implementar algún administrador de scripts simplificado yo mismo (algo como la clase auxiliar de Scripts en la vista previa de MVC4) y luego migrar a MVC4?

  3. ¿O debería integrar el casete en el proyecto y esperar que sea más preparado para el futuro que la implementación de MVC (realmente no me gusta esta opción en este momento solo por la gran cantidad de dependencias que viene con el casete)?

  4. / p>

No tengo experiencia con Cassette en sí y me resulta muy difícil hacer la comparación por mí mismo y agradecería cualquier respuesta o sugerencia.

EDITAR: Supuse que hay otra opción: instalar el paquete beta nuget para la agrupación MVC: https:// nuget. org / packages / Microsoft.Web.Optimization

CONCLUSIÓN: Cuanto más miro la implementación del paquete MVC4, más grande es la diferencia que noto: los paquetes MVC4 no abordan el problema MVC3 descrito anteriormente, solo hacen agrupación y minificación. Además, el casete no solo es capaz de representar etiquetas de script en un lugar específico, sino que también es capaz de ordenarlas en el orden correcto, lo que no es trivial. Por lo tanto, por el momento no estoy satisfecho con ninguna de las soluciones e intentaré crear mi propia implementación minimalista con la esperanza de que la situación mejore en el futuro.

Pero si no tiene miedo de agregar 5+ dependencias y un montón de cambios web.config en su proyecto, elija cassette. Espero que se actualice en algún momento para utilizar el paquete MVC interno para reducir la duplicación de funciones y, con suerte, se volverá más modular.


ACTUALIZACIÓN: A partir de la versión 2.0 de Cassette, ya no es necesario incluir el script de café y otras características de Cassette si solo necesita paquetes y resolución de dependencia js. Entonces, en este punto, Cassette es un claro ganador para mí.

¿Fue útil?

Solución

La información sobre el paquete ASP.NET MVC está aquí: http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx .

ASP.NET está agregando una función que facilita la "agrupación" o “Combine” múltiples archivos CSS y JavaScript en menos solicitudes HTTP. Esto hace que el navegador solicite muchos menos archivos y, a su vez, reduce el tiempo necesario para recuperarlos.

La próxima versión de ASP.NET también agrega una nueva característica que lo convierte en También es fácil reducir o "minimizar" el tamaño de descarga del contenido.

Parece que es esencialmente lo mismo que Cassette.En igualdad de condiciones, utilice la solución nativa de ASP.NET MVC.

Otros consejos

Terminé usando Cassette en mi último proyecto y está funcionando bastante bien.Realmente no hay mucha configuración si usa NuGet, por lo que creo que no sería demasiado difícil usar Cassette ahora y luego cambiar más tarde si así lo desea.

Otra cosa a considerar es que Cassette compila menos.No estoy seguro de si el paquete MVC4 hace eso o no, ya que no he tenido tiempo de leerlo.

Cassette sigue siendo una alternativa interesante ya que tiene soporte nativo para less y coffescript.También tiene soporte para Plantillas HTML, si está interesado en marcos MVC del lado del cliente (backbone, knockout, etc.)

Solo como una actualización de esto, se agregó compatibilidad con LESS y CoffeeScript en el paquete de Actualización 2 para Visual Studio 2012, por lo que está empezando a parecer cada vez más que sería mejor agregar las transformaciones que necesita a la implementación nativa deel Bundling / Minification respaldado en MVC4 que ir con Cassette a largo plazo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top