alamedajs/almondjs/requirejs 三者差异及使用场景

10 篇文章 0 订阅
3 篇文章 0 订阅

almondjs 和 alamedajs 都是为了满足某些轻量使用requirejs的开发者而出现的轻量化的AMD加载器。基本的API都保持一致。

 

* 三者的功能完整度:requirejs>alamedajs>almondjs

* 文件的体积:requirejs>alamedajs>almondjs

 

alamedajs

 

1、不兼容低版本的浏览器,它的目标兼容浏览器是chrome、safari、IE10+等其他现代标准浏览器,不支持ie<=9,因为源码用ES5写的,使用到了一些ES5特性,比如Array.isArray, forEach等等。

2、省去了很多兼容代码,并且用了一些高级的API,所以代码总体积减比requirejs减少了35%左右。

3、源码使用了Promise,所以IE10\11如果要使用alamedajs需要再引入一个Promise polyfill或者直接用almameda-prim这个支持Promise的版本。

 

使用场景:只需兼容标准浏览器的项目,可以代替requirejs使用

 

almondjs

 

1、没有内置加载器,不能加载远程模块

2、因为不能加载远程模块,所以需要将项目的所有模块打包到一个JS文件里

3、只能使用一次requirejs.config

4、阉割了一些requirejs的功能,比如require.toUrl,require.nameToUrl等

5、每个模块必须有模块ID,因为所有模块最终会被打包到一个文件里,不能通过文件名来标识。这个可以通过requirejs的优化工具(r.js)来自动解决。

 

使用场景:纯打包成一个bundle文件的项目。

 

总结:不同项目为了优化极致,可以使用不同阉割程度的加载器,减少带宽消耗,提高运行效率

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值