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消息弹出插件!'); }); });