Я использую Дюрандаль, и я пытаюсь использовать этот модуль в качестве зависимости для другого модуля:RequireJS зависимость не определена, если я называю модуль
define('Beer', function() {
return function Beer (name, brewery) {
this.name = name;
this.brewery = brewery;
};
});
В другом модуле, я делаю это:
define(['knockout', 'models/Beer'], function (ko, Beer) {
return {
displayName: 'Add',
name: ko.observable(),
brewery: ko.observable(),
save: function() {
var beer = new Beer(this.name(), this.brewery());
console.log(beer);
}
}
});
Мой javascript загружен, потому что я определяю его на своих путях (и я проверил в Firebug). Но аргумент Beer
в моем втором модуле не определен. Я не знаю, почему, поскольку мой модуль Beer действительно возвращает что-то (он возвращает функцию). На что еще я могу смотреть? Большинство решений, которые я нахожу, заключаются в том, что модуль (первый) ничего не возвращает, но ясно.
UPDATE Видимо, когда я удалить имя моего модуля Пиво, это работает:
define(function() {
return function Beer (name, brewery) {
// ...
}
});
Несмотря на то, this code, казалось бы работать, это не для меня. Может ли кто-нибудь сказать мне, почему?