2011-12-19 22 views
6

Antecedentes¿Cómo cargar los scripts primero cuando sea necesario con require.js?

que tienen una larga lista de modelos y vistas realizadas con backbone.js - pero no todos los usuarios se abrirá todas las vistas. Uso require.js para cargar archivos y plantillas JavaScripts.

Lo que tengo ahora

Tengo un router que sobre todos los puntos de vista. Como el enrutador lo sabe, todas las vistas, modelos y plantillas se cargan al inicio; esto también carga vistas visitadas al azar.

Problema

¿Cómo puedo usar require.js para cargar los archivos JavaScript cuando sea necesario? No en el inicio inicial, pero cuando el usuario abre por primera vez una vista.

ACTUALIZACIÓN Ahora puedo hacerlo funcionar como se comenta en la respuesta a continuación.

En enrutador Tengo un requieren por ruta:

require(["yourmodule"], function(MyModule){ 
    //... 
}) 

Respuesta

5

Ésta es una gran guía para casarse con Backbone.js y Require.js:

http://backbonetutorials.com/organizing-backbone-using-modules/

+0

En el router, cargar su views - requerirá.js luego cargará el gráfico completo del módulo? Una vista tiene una colección, y una colección requiere un modelo, etc. Lo que me gustaría saber si puedo cargar el módulo, cuando realmente lo necesito –

+0

¿Has probado algo como esto en tu manejador de enrutadores? 'require ([" yourmodule "], populateYourView)' –

+0

@IntoTheVoid: tenga en cuenta que la versión actual de jQuery, Underscore y la rama de Backbone incluyen soporte para AMD, por lo que la integración con RequireJS es mucho más simple ahora. Eche un vistazo a ** [ejemplo actualizado] (https://github.com/thomasdavis/backbonetutorials/tree/gh-pages/examples/modular-backbone-updated) ** en github de backbonetutorial o consulte un sencillo ** [ Plantilla de proyecto de red troncal] (https://github.com/dzejkej/modular-backbone) **. – kubetz

Cuestiones relacionadas