Невозможно вызвать метод 'bind' из неопределенного - Backbone LayoutManager

Я не понимаю, что я делаю неправильно. Я пытаюсь использовать Backbone LayoutManager в своем приложении, и простой код, приведенный ниже, вызывает ошибку: "Невозможно вызвать метод bind" из неопределенного "

Это мой файл main.js:

require.config({
    paths: {
        jquery: 'libs/jquery',
        underscore: 'libs/underscore',
        backbone: 'libs/backbone',
        layoutManager: 'libs/backbone.layoutmanager',
        knockout: 'libs/knockout',
        templates: '../templates'
    },

    shim: {

        backbone: {
            deps: ['jquery','underscore'],
            exports: 'Backbone'
        },
        layoutManager: {
            deps: ['jquery','underscore', 'backbone'],
            exports: 'LayoutManager'
        }
    }

});

require([
    'app',
    'backbone',
    'layoutManager'
], function(App, Backbone, LayoutManager) {

        // Set all Views to be managed by LayoutManager.
    Backbone.Layout.configure({ manage: true });

    App.initialize();

});

Есть идеи, что вызывает эту ошибку?

1 ответ

Решение

В зависимости от версии LayoutManager, которую вы используете, может случиться так, что вы неправильно подгоняете. Последний LayoutManager поддерживает AMD, поэтому шайба не нужна.

Как отмечено в комментарии @kryger, который вы получили, убедитесь, что подчеркивание правильно отрегулировано. Готов поспорить, что это твоя проблема.

shim: {
    backbone: {
        deps: ['jquery', 'underscore'],
        exports: 'Backbone'
    },

    underscore: { exports: '_' }
}

Вы также можете ознакомиться с документацией по настройке AMD: https://github.com/tbranyen/backbone.layoutmanager/wiki/Installation.

^^ Я обновил вышеупомянутое, чтобы содержать также строку для подчеркивания подчеркивания.

Другие вопросы по тегам