Я использую магистраль и требую js для простого приложения, которое я пытаюсь сделать. Тем не менее, каждый раз, когда я пытаюсь запустить приложение в браузере, я получаю ошибку «Backbone is null». Я указываю на строку, где он пытается расширить модель Backbone, но я понятия не имею, почему Backbone приходит как null? У кого-нибудь есть предложения? Я читал и возился с require.config, но он все еще не работает.Backbone is null
//main.js (this is my data-main)
require.config({
baseUrl: 'scripts/lib',
paths: {
'model': '../app/models'
},
waitSeconds: 30,
shim: {
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'underscore': {
exports: '_'
}
}
});
require([
'jquery',
'underscore',
'backbone',
'model/comic'
], function (
$,
_,
Backbone,
Comic
) {
console.log("Files loaded successfully");
});
//comic.js (this is my model)
require(["backbone"], function (Backbone) {
return Backbone.Model.extend({
initialize: function (options) {
this.comicName = options.comicName || "";
this.author = options.author || "";
this.issueNumber = options.issueNumber || "";
console.log(this.comicName);
}
});
});
Directory Hierarchy ------------------- main.html assets scripts app models comic.js lib backbone.js underscore.js require.js jquery.js styles bootstrap.min.css
Не могли бы вы попросить их вместо определения. –
Хорошо, поэтому я попробовал require вместо define, и он выполнил функцию после загрузки зависимостей. Таким образом, я вижу, что «Файлы загружены успешно», однако он все еще бросает Backbone - это неопределенная ошибка. Любая идея о том, почему? Спасибо за помощь, кстати. Также зачем требовать работу и не определять? – HerrPfister