我想知道如何使用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',
出于某种原因,上述似乎没有按预期工作。我想我错过了什么,但不确定那是什么。我正在使用the backbone deep model plugin。
这是我在调试器中得到的错误
未捕获TypeError:对象[object Object]没有方法'apply'
答案 0 :(得分:2)
在函数签名中将DeepModel添加到您的范围:
define([
'jquery',
'underscore',
'backbone',
'deepModel',
], function($, _, Backbone, **DeepModel**)
答案 1 :(得分:0)
如果您使用AMD兼容版本的骨干和下划线,它可能会让您的生活更轻松。默认情况下,它们不支持AMD。