/ / ¿Cuál es la mejor manera de tener todas las plantillas de Backbone en un solo archivo JS para que se pueda poner en CDN? - javascript, ruby-on-rails, backbone.js, underscore.js

¿Cuál es la mejor manera de tener todas las plantillas de Backbone en un solo archivo JS para poder colocarlas en CDN? - javascript, ruby-on-rails, backbone.js, underscore.js

Me gustaría tener todas las plantillas de Backbone en un solo archivo JS para poder distribuirlo fácilmente a través de CDN. Idealmente, también debería funcionar con el flujo de trabajo de compilación de activos de Rails.

Posible solución # 1:

Un solo archivo JS con todas las plantillas declaradas como tales:

app.templates.view = " 
<h3>something code</h3> 
";

Muy desordenado. Falta de resaltado.

Posible solución # 2:

Un único archivo html con todas las plantillas en línea. Incluir el parcial en mi documento maestro.

<script type="text/template" id="list-item">
<li><%= item %></li>
</script>

No puedo utilizar el beneficio de un archivo JS minimizado que se distribuye a través de mi CDN. Las plantillas estarán en línea con mi archivo HTML.

Posible solución # 3:

Use Require.js pero no parece resolver la necesidad de incluir todas las plantillas en un solo archivo JS.

Respuestas

0 para la respuesta № 1

Echa un vistazo a Guardalínea. Te da un flujo de trabajo realmente agradable paraDesarrollando clientes JavaScript. Realmente es solo una colección de tareas de Grunt agregadas en un flujo de trabajo súper simple. Una de las cosas que hace es compilar todas sus plantillas de subrayado (o manillar) en JST (como Rails). Utiliza "grunt-contrib-jst" para hacer esto y genera las plantillas en "generate / template / underscore.js". Luego compila todos sus JS en un solo archivo, aunque podría incorporar fácilmente los archivos .js por separado.

Podría apuntarlo en la dirección correcta.


0 para la respuesta № 2

Gracias por las respuestas Terminé con Possible solution # 2, donde tengo un montón de plantillas e incluido en un archivo maestro usando Rails parcial. Por ahora no hay muchos beneficios en la distribución de las plantillas a través de CDN.

* No elegí usar Grunt porque creo que agrega complejidad adicional en el flujo de trabajo, teniendo en cuenta que todos los desarrolladores del equipo tienen que adoptar el nuevo flujo de trabajo.