如果你是第一次接触 SeaJS,可以直接访问官方文档:seajs.org
按照顺序依次尝试和阅读就好。
如果你是老用户,请随着下文一起来看看这 3 个多月来,SeaJS 都发生了哪些变化。
更小
看下图,左边是 1.3 的,右边是 2.0 的:
无论源码还是压缩后的代码,都有大幅降低。从 2.0 开始,sea.js
的大小会保持 Gzip 后小于 4KB。这样,在 Mobile 端可放心使用。
这尺寸真的很小,不信你看 @寒冬winter 的评论:
2.0 真心小啊,惊人的小!
更快
SeaJS 2.0 在性能上进行了非常细致地调优,下图是 jsPerf 的性能测试结果:
另一个测试用例:
- http://seajs.org/tests/speed/thousand-modules/test-requirejs.html
- http://seajs.org/tests/speed/thousand-modules/test-seajs.html
依赖越复杂,加载的模块越多,SeaJS 的性能优势越明显。
更好
与 1.3 相比,2.0 在以下几点做了很大优化:
-
API 精简。2.0 的 API 非常简约,常用的只有 7 个: API 快速参考
-
配置更友好。让 alias、map 的含义更明确,同时增加了 vars、plugins、data-config 等配置,详见:配置、模块的加载启动
-
插件优化。从 2.0 开始,SeaJS 内置了小巧的事件机制,所有插件都基于事件来实现,更简单易懂。详情:常用插件、插件开发指南
-
对开发调试更友好。
sea.js
已支持 SourceMap,发生错误时,可以快速定位到源码处。另外,增加了 nocache 插件,优化了 debug 插件,详见:SeaJS 的调试接口、调试插件 -
对 Node.js 的支持更完美。目前 SeaJS 在 Node.js 的版本也是基于事件扩展,这样能保证与浏览器版本的功能一致性。详见源码,以及 与 Node.js 兼容
-
文档大量优化。seajs.org 已经全部梳理过一遍,每一篇文档都花了很大心思,推荐无论是新用户还是老用户,都仔细阅读一遍。
-
测试用例优化。目前测试用例已达 400 多个,涵盖了绝大部分使用场景。这可以保证 SeaJS 的大胆前行。测试用例在线地址:tests/runner.html
-
对循环依赖的支持更好。解决了 1.3 中循环依赖检测时的性能问题,同时提示信息更精准。
-
可以直接使用 jQuery 等非 CMD 模块。通过 shim 插件,可以直接使用普通 JavaScript 文件了,详见:常用插件
更多优化点请查阅:SeaJS 2.0 规划
致谢
感谢 SeaJS 的每一个用户,正是你的关注、使用和建议,让 SeaJS 越来越好。