1

どのようにしてrequire.jsでバックボーンプラグインをロードできるのか疑問に思っていました.現在これをmain.jsに持っています.

(function() {
    'use strict';

    require.config({
    shim: {
        underscore: {
            exports: '_'
        },
        backbone: {
            deps: ['underscore', 'jquery'],
            exports: 'Backbone'
        },
        deepModel: {
            deps: ['underscore', 'backbone']
        }
    },
    paths: {
        jquery: 'lib/jquery/jquery',
        underscore: 'lib/underscore/underscore',
        backbone: 'lib/backbone/backbone',
        text: 'lib/requirejs-text/text',
        deepModel: 'lib/deep-model/deep-model.min'
    },

私のモデルでは、このようなものがあります

var myapp = myapp|| {};
(function() {
    'use strict';

    define([
    'jquery',
    'underscore',
    'backbone',
    'deepModel',
    ], function($, _, Backbone) {

        myapp.model= new Backbone.DeepModel.extend({
            defaults: {
            },

            urlRoot: '/users',

何らかの理由で、上記は期待どおりに機能しないようです。私は何かが欠けていると思いますが、それが何であるかはわかりません。バックボーン ディープ モデル プラグインを使用しています。

これは、デバッガーで発生するエラーです

キャッチされていない TypeError: オブジェクト [オブジェクト オブジェクト] にメソッド 'apply' がありません

4

2 に答える 2

2

関数シグネチャのスコープに DeepModel を追加します。

define([
'jquery',
'underscore',
'backbone',
'deepModel',
], function($, _, Backbone, **DeepModel**) 
于 2013-11-12T21:27:30.083 に答える
0

バックボーンとアンダースコアの AMD 互換バージョンを使用すると、作業が楽になるかもしれません。デフォルトでは、AMD をサポートしていません。

https://github.com/amdjs/backbone

https://github.com/amdjs/underscore

于 2013-11-12T21:35:53.410 に答える