博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RequireJS 和 Sea.js
阅读量:7025 次
发布时间:2019-06-28

本文共 742 字,大约阅读时间需要 2 分钟。

相同之处

RequireJS 和 Sea.js 都是模块加载器,倡导模块化开发理念,核心价值是让 JavaScript 的模块化开发变得简单自然。

不同之处

两者的主要区别如下:

  1. 定位有差异。RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器。Sea.js 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 环境中。
  2. 遵循的规范不同。RequireJS 遵循 AMD(异步模块定义)规范,Sea.js 遵循 CMD (通用模块定义)规范。规范的不同,导致了两者 API 不同。Sea.js 更贴近 CommonJS Modules/1.1 和 Node Modules 规范。
  3. 推广理念有差异。RequireJS 在尝试让第三方类库修改自身来支持 RequireJS,目前只有少数社区采纳。Sea.js 不强推,采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略。
  4. 对开发调试的支持有差异。Sea.js 非常关注代码的开发调试,有 nocache、debug 等用于调试的插件。RequireJS 无这方面的明显支持。
  5. 插件机制不同。RequireJS 采取的是在源码中预留接口的形式,插件类型比较单一。Sea.js 采取的是通用事件机制,插件类型更丰富。

还有不少差异,涉及具体使用方式和源码实现,欢迎有兴趣者研究并发表看法。

总之,如果说 RequireJS 是 Prototype 类库的话,则 Sea.js 致力于成为 jQuery 类库。

最重要的

最后,向 RequireJS 致敬!RequireJS 和 Sea.js 是好兄弟,一起努力推广模块化开发思想,这才是最重要的

转载地址:http://caoxl.baihongyu.com/

你可能感兴趣的文章
第三关练习题 权限
查看>>
UIWebView支持跨域,WKWebView不支持!
查看>>
12月个人指标
查看>>
在spring中获取代理对象代理的目标对象工具类
查看>>
CountDownLatch和CyclicBarrier模拟同时并发请求
查看>>
Fedora 30接近最终版,但仍存在一些bug
查看>>
IOS开发--循环引用问题,普通控件为什么用weak,代理为什么用weak,block内用到外面的东...
查看>>
Java初学者怎么学习才能快速入门?
查看>>
AJPFX对选择和冒泡两种排序的理解
查看>>
磁盘管理之MBR
查看>>
Linux系统管理(一)
查看>>
鼠标悬停整行变色
查看>>
我的友情链接
查看>>
活动目录数据库
查看>>
java中标签的作用
查看>>
安装maven及eclipse中安装maven插件
查看>>
Eclipse去除js(JavaScript)文件上的小红叉
查看>>
AngularJS—— 指令的交互
查看>>
Nginx + tomcat + Memcached(session共享)
查看>>
运维的我要学开发--Flask(1)
查看>>