2011-09-28 6 views
5

Estoy creando una aplicación ASP.Net MVC 3 utilizando Backbone.js. También estoy usando las plantillas jQuery para las vistas.¿Cuál es la mejor práctica para colocar vistas de plantilla y código de vista de red troncal?

Mi pregunta es ¿cómo puedo organizar los archivos de una manera eficiente?

Actualmente tengo un archivo XXX.js para la aplicación de red troncal y plantillas en línea almacenadas en la página que muestra la aplicación de red troncal, Index.cshtml. ¿Cómo puedo mover las plantillas a un archivo diferente que puedo incluir como si incluyera XXX.js?

App/ 
    Scripts/ 
    backbone.js 
    underscore.js 
    jquery-1.6.4.js 
    jquery.tmpl.js 
    myBackboneApplication.js 
    Views/ 
    Home/ 
     Index.cshtml 
    Controllers/ 
    HomeController.cs 

me gustaría mover las plantillas de Index.cshtml y en algo relacionado con myBackboneApplication.js. Algo que puedo incluir como un archivo dentro de Index.cshtml en lugar de inlined.

Respuesta

4

Puede consultar this related question. Las dos opciones básicas son:

  1. Crear sus plantillas como cadenas e incluyen el archivo Javascript en su archivo de índice.

  2. Cree sus plantillas como HTML en archivos separados, e insértelos en el archivo de índice en tiempo de compilación, muy probablemente dentro de las etiquetas <script type="text/template">.

En mi proyecto actual Backbone.js, estoy usando la segunda opción - guardo todos mis plantillas en una carpeta separada, y yo insertarlos en mi archivo de índice durante mi ant build. Cada plantilla (por ejemplo, my-view-template.html) se inserta en una etiqueta <script> con id="my-view-template", y luego utilizo jQuery para crear las plantillas utilizando $("#my-view-template").html() como la cadena de la plantilla.

+0

Ugh! ¡Supongo que necesito conseguir algo de kung-fu de canalización de activos! – Jason

+0

también he estado haciendo esto (# 2) recientemente. funciona bien y proporciona mucha flexibilidad –

+4

Utilizo require.js para extraer archivos de plantilla html como activos de texto, que se combinan junto con todos los js en un solo archivo. entonces mi servidor sirve archivos de índice muy pequeños ... solo el modelo de carga y una etiqueta de secuencia de comandos. – timDunham

Cuestiones relacionadas