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',

由于某种原因,上述内容似乎没有按预期工作。我想我错过了一些东西,但不确定那是什么。我正在使用骨干深度模型插件

这是我在调试器中遇到的错误

未捕获的类型错误:对象 [对象对象] 没有“应用”方法

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 回答