【问题标题】:Backbone.js and Require.js issueBackbone.js 和 Require.js 问题
【发布时间】:2013-10-01 03:42:05
【问题描述】:

我正在尝试将现有 Backbone.js 项目转换为 Require.js。

按照建议,我正在模块化我的组件。我的路由器是应用程序的起点,因此我的 main.js 要求文件如下所示:

requirejs.config({

    'baseUrl': '/',

    'paths': {
        'app': 'app',
        // define vendor paths
        'jquery'        :   'bower_components/jquery/jquery',
        'underscore'    :   'bower_components/underscore/underscore',
        'backbone'      :   'bower_components/backbone/backbone',
        'handlebars'    :   'bower_components/handlebars/handlebars',
        'nprogress'     :   'bower_components/nprogress/nprogress',
    },

    'shim':{
        'jquery': {
            'exports': '$'
        },

        'underscore': {
            'exports': '_'
        },

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

        'handlebars': {
            'exports': 'Handlebars'
        }

    }


});

require(['app/js/routes/router'], function(Router) {
    // Fire up the quattro
});

我的路由器看起来像这样

define(['backbone', '/app/js/views/HomepageView'], function(Backbone) {

    var AppRouter = Backbone.Router.extend({
        routes: {
            "": "showHomepage",
            "categories/:sofa": "showCategoryList",
            "range/:categoryName/:sofaName": "showProductRange",
            "customersearch/:customerName": "showCustomerSearch"
        }
    });

    // Initialise our router
    var router = new AppRouter;

    router.on("route:showHomepage", function(param){
        localStorage.removeItem('lastProduct');
        var homepageview = new HomepageView({ el: $('#content') });
    })

    // Start the router
    Backbone.history.start();

});

但是,当我导航到我的路线“/”以初始化 HomepageView 时,无论我尝试什么,我都会收到以下错误,而且我似乎找不到解决方案..

Uncaught ReferenceError: Backbone is not defined HomepageView.js:1

【问题讨论】:

    标签: javascript jquery backbone.js mvvm


    【解决方案1】:

    将第一行更改为以下内容将是一个开始。

    define(['backbone', '/app/js/views/HomepageView'], function(Backbone, HomePageView) {

    【讨论】:

    • 对不起,这是我的错,但这并不能解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2015-05-30
    • 2012-06-11
    相关资源
    最近更新 更多