您的位置:首页 > Web前端 > JavaScript

SeaJS之shim插件:解决非cmd规范的插件与sea的区别

2015-09-17 09:22 621 查看

SeaJS 中的模块默认都遵守 CMD 规范,但现实中已存在大量普通 JavaScript 类库,比如 jQuery、Underscore 等。使用 shim 插件,可以将这些普通 JS 文件转换成 CMD 模块,从而能在 SeaJS 中正常使用。

seajs.config({
plugins: ['shim']
});

一旦激活后,
alias
配置项就可以接受
shim Object
配置。

seajs.config({
// 激活 shim 插件
plugins: ['shim'],

// shim 配置项
alias: {
// jQuery 的 shim 配置
'jquery': {
src: 'lib/jquery-1.9.1.min.js',
exports: 'jQuery'
},

// jquery.easing 插件的 shim 配置
'jquery.easing': {
src: 'lib/jquery.easing.1.3.js',
deps: ['jquery']
}
}
});

shim Object

shim Object
是一个对象:

'key': {
src: String,
deps: Array,
exports: String | Function
}

src
是字符串,表示文件路径。

deps
是数组,指定模块依赖

exports
表示
require(key)
时应该返回哪个全局变量,比如 jquery 的是返回
jQuery
全局变量。
exports
也可以是一个函数:

'jquery': {
src: 'lib/jquery-1.9.1.min.js',
exports: function() {
return jQuery.noConflict();
}
}

通过 shim 插件,可以加载任何非 CMD 模块。

说明:一般在config中使用,先激活plugins: [‘shim’],然后在alias中配置要引用的插件,例如jquery等。

原文; http://www.k68.org/?p=1192
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: