0

Backboneを使用して作業しようとしていますが、からの varRequireJSの表示に問題があります。jQuery $Backbone

これは必要なconfig.jsファイルです:

require.config({
baseUrl: "js",

paths: {
    // Aliases for libraries, so that we can change versions from here
    jquery: ["libs/jquery/jquery-1.9.1.min", "libs/jquery/jquery-2.0.2.min"],
    handlebars: "libs/backbone/template/handlebars",
    lodash: "libs/backbone/template/lodash.min",
    requireLib: "libs/require/require-2.1.6-min",
    backbone: "libs/backbone/backbone-1.0.0.min",
    less:"libs/less/less-1.4.0-beta.min",
    helper:"app/helper",
    text:"libs/require/text-2.0.7"
},

shim: {
    "lodash": {
        exports: '_'
    },
    "backbone": {
        //These script dependencies should be loaded before loading
        //backbone.js
        deps: ["helper", "lodash", "jquery"],
        //Once loaded, use the global "Backbone" as the
        //module value.
        exports: "Backbone"
    },
    "jquery_cookie": {
        deps: ["jquery"],
        exports:"$"
    },
    "less": {
        exports:"less"
    }
}
});

これは私のバックボーンのビュー ファイルです。

define([
"jquery",
"handlebars",
"lodash",
"helper",
"backbone",
"app/models/status_message",
"text!app/templates/status_message.php"
],

function ($, Handlebars, _, Helper, Backbone, StatusMessageModel, tmplStatusMessage) {

    var StatusMessageView =  Backbone.View.extend({
         events: {
            'click ': 'closeMessage'
        },
        initialize:function () {
            console.log("StatusMessageView.initialize");
            this.template = tmplStatusMessage;
            this.model = new StatusMessageModel();
            this.model.bind("change", this.render);
        },
        render:function () {
            //console.log("StatusMessageView.render");
            //console.log(this);

            var template = Handlebars.compile(this.template);
            var html = template(this.model.toJSON());

            if($("#status-message").length === 0) {
                $("body").append($(this.el).attr("id", "status-message").html(html));
            } else {
                $(this.el).attr("id", "status-message").html(html)
            }

            var self = this;
            var intro_timer = setTimeout(function () {
                $("#status-message").addClass("enter");

                var outro_timer = setTimeout(function () {
                    self.closeMessage();
                }, 5000);
            }, 500);
        },
        closeMessage:function () {
            $("#status-message").removeClass("enter");
        }
    });
    return StatusMessageView;
}
);

この構成では表示できず$、次のエラーが発生しているようです。

Uncaught TypeError: Property '$' of object #<Object> is not a function

私は何が欠けていますか?

4

1 に答える 1