我的requirejs配置文件对我来说是正确的。但是当我进入我的函数来启动我的应用程序时,我只能访问jQuery。有人可以看看我的配置文件,并告诉我我做错了什么?为什么我看不到Backbone或Underscore,为什么我能看到jQuery?这是我的配置文件:
require.config({
paths: {
jquery: "libs/jquery/jquery",
underscore: 'libs/underscore/underscore',
backbone: "libs/backbone/backbone"
},
shims: {
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
underscore: {
exports: '_'
}
}
});
require(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {
'use strict';
debugger;
});
感谢您的帮助。
答案 0 :(得分:3)
我认为你有单一的垫片而不是垫片,改变它应该解决你的问题。
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
}
}
答案 1 :(得分:0)
您使用的下划线和主干版本不符合AMD标准,因此它们不会以require.js需要的方式返回。您可以将它们从函数参数中删除,它们将在全局范围内可用。否则,您将未定义的函数作为_和Backbone的值传递给函数。
require(['jquery', 'underscore', 'backbone'], function() {
console.log($);
console.log(_);
console.log(Backbone);
});