使用requirejs加载zepto模块

时间:2014-10-20 20:44:27

标签: javascript requirejs zepto

我是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文档下的错误,但它没有说明发生了什么以及为什么会这样。

你们可以用非专业人士的话来说明发生了什么事吗?

1 个答案:

答案 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);
});