2011-12-26 33 views
6

He visto muchas variaciones para cargar módulos que aún no admiten AMD, y me gustaría saber cuál es la mejor práctica para hacerlo.¿Cuál es la mejor manera de incluir jQuery, Underscore y Backbone como módulos AMD usando require.js?

Finalmente, me gustaría escribir módulos de la siguiente manera:

module.js: 

define(["jQuery", "Underscore", "Backbone"], function($, _, Backbone) { 
    ... module code here 
} 

pero hay una gran cantidad de problemas con la carga de esas dependencias que utilizan AMD, ya que no son todos compatibles con AMD.

+1

¿Qué quieres decir con AMD? No es la familia de CPU, ¿verdad? – Thilo

+1

No. Definición de módulo asincrónico. Mala elección de TLA Debo admitir ... :) –

+1

Hace unos años (antes del cambio de Intel, creo), los grupos de rumor de Mac estaban llenos de referencias de código a amd. En aquel entonces, era el auto-mount-daemon. ;-) – Thilo

Respuesta

1

Eche un vistazo al ejemplo this. Muestra muy bien cómo usar la red troncal junto con requirejs. También muestra cómo puedes organizar el modelo, la vista y las colecciones de forma ordenada.

+0

Parece que el ejemplo es una versión actualizada, y no lo que explica el tutorial en el sitio web. Gracias. –

2

Thomas Davis tiene un mejor ejemplo (imo) para cargar jquery/underscore/backbone en su ejemplo no actualizado. Comience por mirar el cargador here

Utiliza el complemento de orden RequireJS encontrado here para cargar los módulos de forma sincrónica.

1

La última versión de RequireJS añade la posibilidad de utilizar archivos NO AMD JS.

require.config({ 
    'paths': { 
    "underscore": "libs/underscore-min", 
     "backbone": "libs/backbone-min" 
    }, 
    'shim': 
    { 
     backbone: { 
      'deps': ['jquery', 'underscore'], 
      'exports': 'Backbone' 
     } 
    } 
}); 

Pruébalo.

0

Una cosa que no entiendo acerca de AMD es que parece que carga las js necesarias solo cuando las necesita, pero con la aplicación de demostración carga todos los archivos js html css cuando accede a la aplicación para cargar la primera página.

Cuestiones relacionadas