我是RequireJS的新手,我正在努力理解其使用背后的逻辑......
我在html脚本标记
之间有以下脚本requirejs.config(
{shim: {
'zepto': ['//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min.js'],
'js/zepto.addon.min' : 'zepto',
'js/zepto.swipeslide' : ['zepto', 'js/zepto.addon.min']
}}
);
define(['//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min.js','js/zepto.addon.min','js/zepto.swipeslide'],function(){
console.log('this', this, 'arguments', arguments);
});`
我只是想在插件之前加载必要的zepto文件。但是我得到了一个
未捕获错误:匿名的define()模块不匹配:function(){ console.log('this',this,'arguments',arguments); }
我正在查看requirejs文档下的错误,但它没有说明发生了什么以及为什么会这样。
你们可以用非专业人士的话来说明发生了什么事吗?
答案 0 :(得分:2)
这种设置没有多大意义。您应该定义路径,定义填充程序,然后按名称要求这些模块。
requirejs.config({
// setup global dependencies
shim: {
'addon' : 'zepto',
'swipeslide' : ['zepto', 'addon']
},
// define module paths
paths: {
'zepto': '//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min',
'addon': 'js/zepto.addon.min',
'swipeslide': 'js/zepto.swipeslide'
}
});
define(['zepto', 'addon', 'swipeslide'], function($) {
console.log('this', this, 'arguments', arguments);
});