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

 

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

转载于:https://www.cnblogs.com/lydialee/p/4815320.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值