javascript - 请教一个Require.js 的问题,模块依赖没有处理好
怪我咯
怪我咯 2017-04-10 14:59:05
[JavaScript讨论组]

html代码

html<script type="text/javascript" data-main="resource/js/init" src="resource/js/require.js"></script>

init.js代码

javascript(function() {


    require.config({
        baseUrl: 'resource/js',
        path: {
            jquery: 'jquery',
            yui: 'yui',
            grid: 'grid/mmGrid'
        }
    });

    define(['jquery'], function($){  
        return window.jQuery;  
    }); 

    require(['jquery'], function($) {
        require(['grid/mmGrid']);
    });

    require(['css!../css/base.css']);
}());

错误信息:

mmGrid 这个插件是依赖jQuery的,在加载时没有取到$对象报错了,请教各位我应该怎么修改呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
高洛峰

加上这个试试

requirejs.config( {
    "shim": {
        "grid"  : ["jquery"]
    }
} );

这个是一个安装jquery插件的例子
https://github.com/requirejs/example-jquery-shim

这个是官方的说明
http://requirejs.org/docs/jquery.html

这个是stackvoerflow的讨论
http://stackoverflow.com/questions/10918063/how-to-make-a-jquery-plugin-loadable-with-requirejs

加一个老外的文章
http://www.simonewebdesign.it/how-to-load-jquery-plugins-with-requirejs/

怪我咯

使用requireJs异步加载jQuery,只要在config中配好jquery的路径,是不需要再额外定义define函数的,因为在jquery源码中,已经支持了AMD的模块加载,实现了define函数。

    define(['jquery'], function($){  
        return window.jQuery;  
    });

所以上面这段代码是没有任何意义的,应该去掉。
看你的代码,觉得你可能对requireJs的基本使用没什么概念,可以看一下这篇阮一峰老师的介绍。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号