我从RequireJS开始,我遇到了jquery插件加载的问题。基本上,当插件加载时,它的上下文中没有jQuery,尽管我在我的配置中做了一个shim来解释它。 从我已经看到的,似乎是加载没有AMD定义的插件的正确方法,我不明白为什么它在这种情况下不起作用。
这是我的代码:
require.config({
paths: {
"angular-mocks": "lib/angular-mocks/angular-mocks",
"angular-route": "lib/angular-route/angular-route",
"angular": "lib/angular/angular",
"angular-scenario": "lib/angular-scenario/angular-scenario",
"jquery": "lib/jquery/jquery",
"bootstrap": "lib/bootstrap/docs/assets/js/bootstrap",
"requirejs-text": "lib/requirejs-text/text",
"less" : "lib/less/dist/less-1.4.2"
},
baseUrl: '/static/js',
shim: {
'angular' : {'exports' : 'angular'},
'angularRoute': ['angular'],
'angularMocks': {
deps:['angular'],
'exports':'angular.mock'
},
"bootstrap": ['jquery']
},
priority: [
"angular"
],
urlArgs: 'v=0.1'
});
require(['jquery', 'bootstrap'], function($){
console.log($);
});
当我执行console.log时,我可以访问jQuery,但是我有关于引导程序加载的错误:Uncaught TypeError: undefined is not a function
答案 0 :(得分:4)
我正在使用Django Debug Toolbar与require并行,看起来它正在加载它自己的jQuery版本,搞乱了脚本加载的顺序。
我暂时删除了工具栏,它正在运行!