我试图通过将jquery定义为依赖关系来加载jquery插件。
requirejs.config({
baseUrl: '/assets/',
paths: {
jquery: 'jquery',
jqueryujs: 'jquery_ujs',
jquerybackstretch: 'jquery.backstretch',
jquerysticky: 'sticky',
jquerydialog: 'jquery.ui.dialog',
app: 'index'
},
shim: {
'jqueryujs': {
deps: ['jqueryujs']
},
'jquerybackstretch': {
deps: ['jquerybackstretch']
},
'jquerysticky': {
deps: ['jquerysticky']
},
'jquerydialog': {
deps: ['jquerydialog']
},
'app': {
deps: ['app']
}
}
})
require(['jquery', 'jquerybackstretch', 'jqueryujs', 'jquerysticky', 'jquerydialog', 'app'], function($) {
})这是错误消息
Load timeout for modules: jquerybackstretch,jqueryujs,jquerysticky,jquerydialog,app是否正确加载了所有插件?还有其他好的方法来加载插件吗?
发布于 2014-04-22 17:10:33
这不起作用的原因是在shims中设置了循环依赖项。例如:
'jqueryujs': {
deps: ['jqueryujs']
}这告诉RequireJS模块依赖于自身。想必,所有在其名称中包含jquery的模块都依赖于jQuery,因此我预计如下:
shim: {
'jqueryujs': {
deps: ['jquery']
},
'jquerybackstretch': {
deps: ['jquery']
},
'jquerysticky': {
deps: ['jquery']
},
'jquerydialog': {
deps: ['jquery']
}
}我不知道(大部分)这些模块是什么,所以我无法判断它们是否相互依赖。您应该检查它们是否这样做,并将所需的内容添加到deps设置中。
我不知道您的app模块是什么。如果它是您自己为加载RequireJS而创建的一个模块,那么它应该使用一个适当的依赖项列表调用define,并且您不应该为此需要一个shim。
https://stackoverflow.com/questions/23225569
复制相似问题