RequireJs加载非AMD模块和Jquery插件时的用法

在使用requireJs时,如果加载的js库为非AMD规范时(比如1.3.2版本及以下的jQuery.js也为非AMD规范),如何结合requireJs完成模块化开发:

require.config({
        baseUrl: basePath + '/js/lib',
        paths: {
            'jquery-pack': 'jquery-1.3.2.pack',
            'messager': 'jquery.messager'
        },
        shim: {
            'jquery-pack': {
                exports: '$'
            },
            'messager': {
                deps: ['jquery-pack'],
                exports: '$.messager'
            }
        }
});

如上,需要在config函数接受的对象中配置shim属性(专门用来配置不兼容的模块),

每个模块要定义:(摘自阮一峰老师博客:http://www.ruanyifeng.com/blog/2012/11/require_js.html)

(1)exports值(输出的变量名),表明这个模块外部调用时的名称;

(2)deps数组,表明该模块的依赖性。

使用:

require(['../../js/config'], function () {
        require(['jquery-pack', 'messager'], function ($) {
            $.messager.show(0,'送你一个Jquery Messager消息弹出插件!');
        });
});

 

posted @ 2017-09-25 14:19  总结  阅读(816)  评论(0编辑  收藏  举报