que han pasado recientemente por el ejercicio de la creación de RequrieJS con la optimización automática de acumulación en una aplicación ASP.NET MVC.Hay muchos artículos de blog útiles como Simon's que son una gran referencia. Desde una perspectiva ASP.NET, una de las más útiles que encontré en términos de configurar el optimizador RequireJS para aplicaciones ASP.NET de varias páginas fue Making RequireJS play nice with ASP.NET MVC.
Usando la gran información que ya tengo, he puesto mi propio ASP.NET MVC RequireJS example on GitHub. Gran parte de lo que se incluye es similar a los ejemplos que ya existen, sin embargo, para abordar el tema de las vistas parciales, y las dependencias de múltiples páginas requieren de un enfoque ligeramente diferente.
_Layout.cshtml
La diferencia más notable de los ejemplos existentes es la creación de una costumbre RequireViewPage que expone métodos para pasar los datos de configuración en RequrieJS así como página de referencia específicas requieren dependencias.
Así que su _Layout.cshtml se parecerá mucho a lo que se espera con:
<head>
...
@RenderModuleConfig()
<script type="text/javascript" src="@Url.Script("vendor/require.js")" data-main="main"></script>
</head>
<body>
...
& Vistas Parciales
Para cablear puntos de vista (y en mi caso modelos de vista nocaut), an additional script fragment se ha agregado a la parte inferior de _Layout.cshtml como sigue
...
@RenderSection("scripts", required: false)
<script type="text/javascript">require(['main'], function() { require(['lib/knockout/knockout.require']); });</script>
</body>
Esta voluntad ensu es decir, para cualquier dependencia de visualización, el módulo principal se ha cargado (asumiendo que las dependencias para main se han definido en main.js
y luego permite visualizar las dependencias específicas que se cablearán mediante atributos de datos.
<div data-require="@MainModule"> ... </div>
<div data-require="@Module("address")"> ... </div>
<div data-require="view\home\index\model"> ... </div>
Para una explicación completa del diseño y opciones, consulte las README on GitHub
Gracias por la respuesta muy bien escrito. Tengo una mejor comprensión de cómo usar RequireJS ahora. –
el método anterior funciona perfectamente en las páginas, pero cuando la página se carga a través de ajax llama a un div, los módulos no se están cargando ... ¿Alguna ayuda? –
Este enfoque no parece ser completamente confiable porque el código en las etiquetas de guiones en línea puede ser ejecutado antes que el código en main.js, lo que ocasiona fallas ocasionales. Ver [esta respuesta] (http://stackoverflow.com/a/14345709) a una pregunta relacionada. –