Магистраль не вызывается в модуле indexview.requirejs + backbonejs + optimizer = backbone undefined
с использованием requirejs 2.1.5/2.1.4 и 0.9.10 backbonejs
main.js после запуска r.js
...
// this is causing the backbone to return
// null/undefined in the next define call below
define("backbone", function(){});
define('views/index/IndexView', [
'underscore',
'backbone',
'text!templates/index/indexTemplate.html'
], function(_, Backbone, indexTemplate){
console.log(Backbone); // returns undefined
var IndexView = Backbone.View.extend({
...
НО, если я беру первый определяют вызов, который регистрирует позвоночник, как модуль, все отлично работает. но backbone-min.js загружается отдельно. но пока это единственный способ: , чтобы запустить скрипт. Я определенно чего-то здесь не вижу.
main.js
require.config({
paths: {
underscore : 'libs/underscore/underscore-min',
backbone : 'libs/backbone/backbone-min'
templates : '../templates'
},
shim: {
'backbone': {
deps: ['jquery','underscore'],
exports: 'Backbone'
}
}
});
require(['app'], function(App){
App.initialize();
});
build.js
({
appDir: "../",
baseUrl: "js",
dir: "../../build",
optimize: "none",
paths: {
"jquery": "libs/requirejs/require-jquery",
"underscore" : 'libs/underscore/underscore-min',
"backbone": 'libs/backbone/backbone-min',
"templates": '../templates',
},
modules: [
{
name: "main",
exclude: ["jquery"]
}
]
})
Я все еще получаю мои ноги мокрые с позвоночника и requirejs. любая обратная связь очень ценится.
Должно быть, кроме вашей конфигурации , В моей сборке блок запроса выглядит так: define («backbone», ["jquery", "underscore"], (function (global) { return function() { var ret, fn; return ret | | global.Backbone; }; } (это))); Заметка, у меня также есть знак подчеркивания в моем shim.js – mbseid
Можете ли вы добавить 'mainConfigFile' в свой файл build.js следующим образом:' mainConfigFile: 'app/main.js'' затем перестроить? – Mirodil