RequireJS、SeaJS的区别

RequireJS、SeaJS的区别

1、RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更简单天然。模块加载器也可降级为文件加载器用,所以使用 RequireJS 和 SeaJS,也能够达成 LABjs 的性能优化目的。web

2、RequireJS 和 SeaJS 都是很不错的模块加载器,二者区别以下:浏览器

1. 二者定位有差别。RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器。SeaJS 则专一于 Web 浏览器端,同时经过 Node 扩展的方式能够很方便跑在 Node 服务器端
2. 二者遵循的标准有差别。RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范。规范的不一样,致使了二者 API 的不一样。SeaJS 更简洁优雅,更贴近 CommonJS Modules/1.1 和 Node Modules 规范。
3. 二者社区理念有差别。RequireJS 在尝试让第三方类库修改自身来支持 RequireJS,目前只有少数社区采纳。SeaJS 不强推,而采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略。
4. 二者代码质量有差别。RequireJS 是没有明显的 bug,SeaJS 是明显没有 bug。
5. 二者对调试等的支持有差别。SeaJS 经过插件,能够实现 Fiddler 中自动映射的功能,还能够实现自动 combo 等功能,很是方便便捷。RequireJS 无这方面的支持。
6. 二者的插件机制有差别。RequireJS 采起的是在源码中预留接口的形式,源码中留有为插件而写的代码。SeaJS 采起的插件机制则与 Node 的方式一致:开放自身,让插件开发者可直接访问或修改,从而很是灵活,能够实现各类类型的插件。性能优化

还有很多细节差别就很少说了。服务器

总之,SeaJS 从 API 到实现,都比 RequireJS 更简洁优雅。若是说 RequireJS 是 Prototype 类库的话,则 SeaJS 是 jQuery 类库。异步

最后,向 RequireJS 致敬!RequireJS 和 SeaJS 是好兄弟,一块儿努力推广模块化开发思想,这才是最重要的
相关文章
相关标签/搜索