2012-02-09 24 views
7

Estoy muy agradecido por Addy Osmani y Thomas Davis para la publicación de sus ejemplos y boilerplates (http://backbonetutorials.com/organizing-backbone-using-modules, https://github.com/addyosmani/backbone-aura).aplicación web con Backbone.js y RequireJS paquetes, RequireJS optimizador

Me estaban ayudando mucho para comenzar.

Actualmente estoy desarrollando una gran aplicación web. Así que tengo muchos componentes, por ejemplo administración de direcciones, administración de fechas, todos. Cada componente ocupa todo el espacio en mi aplicación (a excepción de la barra de menú). Cada selección de un nuevo componente en el menú requiere una transición de página.

Al principio tomé la estructura del archivo, repetitivo utilizado por los tutoriales anteriores (dando todas las vistas al directorio 'vistas'). Pero a medida que se agregaron más componentes, poner vistas alle en un directorio de vistas se volvió confuso para mí. Incluso crear subdirectorios no sería una solución, porque en esta estructura de archivos perdí la información cuya vista está relacionada con cada modelo.

Así que busqué otra solución y encontré los paquetes requeridos amd (http://requirejs.org/docs/api.html#packages). Esto me ayudó mucho ya que todos los módulos que pertenecen al mismo componente (modelos, colecciones, vistas) entraron en un directorio. Debido a que postfixing cada modelo con "Modelo" (y así sucesivamente), las cosas estaban lo suficientemente limpias para mí.

Ahora a la pregunta: Estoy en la etapa de preproducción. No participé en la construcción y concatenación de cosas para la implementación de producción. Pero ahora quiero probar el optimizador requirejs. He leído la página "http://requirejs.org/docs/optimization.html" de James Burke. Pero no todo está claro para mí.

Quiero lo que quiero es lo siguiente: Tengo estos directorios de paquetes. Todos los módulos amd (vistas, modelos, colecciones) de un directorio de paquetes se concatenarán en un archivo, pero sus dependencias no deberían incluirse, ya que muchas de estas dependencias de paquetes externos se cargan por separado al principio.

¿Hay alguien con requisitos iguales o similares, que ya ha dado este paso y puede dar algunas pistas?

Muchas gracias
Wolfgang

+0

Acabo de lanzar un kit de herramientas de código abierto que con suerte ayudará a los demás tanto como a mí. Es una composición de muchas herramientas de código abierto que le proporciona una aplicación de red troncal requireks de manera inmediata. Proporciona comandos únicos para ejecutar: servidor web dev, corredor de prueba de navegador único de jazmín, corredor de prueba de navegador de jazmín js-test-driver y concatenación/minificación para JavaScript y CSS. También genera una versión no minificada de su aplicación para la depuración de producción, precompila sus plantillas de manubrio y admite i18n. Simplemente funciona. http://github.com/davidjnelson/agilejs – davidjnelson

Respuesta

8

Puede echar un vistazo a este par de boilerplates y ver si son útiles ...

https://github.com/jcreamer898/RequireJS-Backbone-Starter
https://github.com/david0178418/BackboneJS-AMD-Boilerplate
https://github.com/swbiggart/node-express-requirejs-backbone

Unos pocos de ellos tienen scripts de compilación en ellos para mostrarle cómo funciona eso.

+0

Gracias por eso, ¿podría decirnos qué placas repetitivas usó y por qué? –

+0

Escribí el primero, tiene el script de compilación así como algunas horquillas de AMD de Backbone y Underscore por lo que no hay necesidad de usar los cargadores que usa el segundo. El tercero es un ejemplo que usa Node como servidor. – jcreamer898

+0

¿podría agregar un enlace a esa horquilla de AMD? No puedo encontrarlo – abstraktor