Me han definido una configuración RequireJS que define caminos y cuñas:RequireJS: Use carga automática-deps con cuña
require.config({
// define application bootstrap
deps: ["main"],
// define library shortcuts
paths: {
app: "app"
, jquery: "lib/jquery"
, underscore: "lib/underscore"
, backbone: "lib/backbone"
, bootstrap: "lib/bootstrap"
},
// define library dependencies
shim: {
jquery: {
exports: "$"
},
underscore: {
exports: "_"
},
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
},
bootstrap: {
deps: ['jquery'],
exports: "bootstrap"
},
// main application
app: {
deps: ["backbone"],
exports: "App"
}
}
});
Como se ve el último "cuña" declaración debe hacerla acceder a la columna vertebral (y deps) cuando cargo la aplicación principal (-paso de nombre).
En realidad esto no funciona:
require(["app"], function($, _, Backbone, App){
app.router = new Backbone.Router.extend({
// routing and route actions
});
});
Lo que me hace preguntarse es que en la "columna vertebral-boilderplate" -project, Backbone (y sus deps) están disponibles de esta manera: https://github.com/tbranyen/backbone-boilerplate/blob/master/app/main.js
El ni siquiera tuvo que definir esto en la función.
Entonces, ¿qué estoy haciendo mal?
intente eliminar el '$, _, Backbone' de la función' require' donde extiende el enrutador. Creo que las cuñas funcionan para que solo exporten valores globales que no necesitas agregar a ninguna llamada – jakee
Oye, eso funciona genial :) Incluso puedo soltar la palabra clave "backbone" en la matriz deps de la función define aunque esto no funciona en todos los módulos ... ¿Crearías una respuesta para poder cerrar la pregunta? –
¡Listo, me alegro de poder ayudar! – jakee