SeaJS 2.0 Beta 发布,JS 模块加载框架

来源: OSCHINA
编辑: oschina
2013-02-18 00:00:00

如果你是第一次接触 SeaJS,可以直接访问官方文档:seajs.org
按照顺序依次尝试和阅读就好。

如果你是老用户,请随着下文一起来看看这 3 个多月来,SeaJS 都发生了哪些变化。

更小

看下图,左边是 1.3 的,右边是 2.0 的:

seajs_1 3_1_sizeseajs_2_0_0b2_size

无论源码还是压缩后的代码,都有大幅降低。从 2.0 开始,sea.js 的大小会保持 Gzip 后小于 4KB。这样,在 Mobile 端可放心使用。

这尺寸真的很小,不信你看 @寒冬winter 的评论:

2.0 真心小啊,惊人的小!

更快

SeaJS 2.0 在性能上进行了非常细致地调优,下图是 jsPerf 的性能测试结果:

requirejs-vs-seajs

另一个测试用例:

依赖越复杂,加载的模块越多,SeaJS 的性能优势越明显。

更好

与 1.3 相比,2.0 在以下几点做了很大优化:

  1. API 精简。2.0 的 API 非常简约,常用的只有 7 个: API 快速参考

  2. 配置更友好。让 alias、map 的含义更明确,同时增加了 vars、plugins、data-config 等配置,详见:配置模块的加载启动

  3. 插件优化。从 2.0 开始,SeaJS 内置了小巧的事件机制,所有插件都基于事件来实现,更简单易懂。详情:常用插件插件开发指南

  4. 对开发调试更友好sea.js 已支持 SourceMap,发生错误时,可以快速定位到源码处。另外,增加了 nocache 插件,优化了 debug 插件,详见:SeaJS 的调试接口调试插件

  5. 对 Node.js 的支持更完美。目前 SeaJS 在 Node.js 的版本也是基于事件扩展,这样能保证与浏览器版本的功能一致性。详见源码,以及 与 Node.js 兼容

  6. 文档大量优化seajs.org 已经全部梳理过一遍,每一篇文档都花了很大心思,推荐无论是新用户还是老用户,都仔细阅读一遍。

  7. 测试用例优化。目前测试用例已达 400 多个,涵盖了绝大部分使用场景。这可以保证 SeaJS 的大胆前行。测试用例在线地址:tests/runner.html

  8. 对循环依赖的支持更好。解决了 1.3 中循环依赖检测时的性能问题,同时提示信息更精准。

  9. 可以直接使用 jQuery 等非 CMD 模块。通过 shim 插件,可以直接使用普通 JavaScript 文件了,详见:常用插件

更多优化点请查阅:SeaJS 2.0 规划

致谢

感谢 SeaJS 的每一个用户,正是你的关注、使用和建议,让 SeaJS 越来越好。

展开阅读全文
32 收藏
分享
13 评论
32 收藏
分享
返回顶部
顶部
返回顶部
顶部