正在写一本关于Sea.js的书,大家想知道啥?
发布于 7 年前 作者 island205 7547 次浏览 最后一次编辑是 4 年前

正在写一本关于Sea.js的书,有入门,有文档,有原理实现解析,最后还要自己一步步实现一个Tea.js模块加载器。欢迎意见,欢迎贡献。github:https://github.com/island205/HelloSea.js

漂亮的文档:http://island205.github.io/HelloSea.js/

Sea.js是如何工作的? http://island205.github.io/HelloSea.js/08-how-seajs-works.html

大家想知道啥?

25 回复

讲得好细, 除了 Tea 和 TMD 两个命名压力略大. 最近对 SeaJS 仓库和 SeaJS 应用的部署细节比较有兴趣, 相关的文档你有计划么?

spm1、spm2都会介绍吧。也欢迎你看了,自己加进去,还有好多坑没填的。

@island205 SPM1 不是已经 outdated 了么? 打算看, 不过我进度怕跟不上… 总之最近努力看吧

javascript的载入但不执行有哪些实现方式?seaJS中是用的哪种?有没有比较推荐的实现方式?

JavaScript载入但不执行方式很多,比如Ajax、text/cache、new Object()、new Image(),不过这些方法都有不兼容或者不完美的地方,有的不支持跨域。 SeaJS本身并不是载入但不执行的模式,SeaJS动态创建的script标签,里面的代码加载好就会执行,例如:

define(function(require, exports) {

  // 获取模块 a 的接口
  var a = require('./a');

  // 调用模块 a 的方法
  a.doSomething();

});

只会执行define,将factory加入到模块列表中,factroy是执行期require时执行的。

也就是我可以理解为,seaJS和requirejs在执行传入的回调函数的时机不同,是吗?seaJS是延后的,而requirejs是立即执行的,对吗?

@chuguixin 对的,你可以看看这本小书的后面,有详细的解释。先加载,延后执行,更符合代码的执行逻辑。与Node模块执行是一致的。

@island205 嗯,关注了,必定找时间拜读。看过一些cmd和amd的比较,seaJS和requirejs应该是两者比较杰出的代表,没用过seaJS,缺乏实际操作。当然,其中的实现,也不懂。

@chuguixin 拜读不敢当,多贡献,多交流。

是阿里那个seajs吗?

作者玉伯的是阿里的

支持支持!

希望不辜负你的支持

最近对seajs的理解tufmj

呃 md文档似乎有问题 代码标记搞错了?

什么?

seajs源码解读

Nice~

我也正在使用SeaJS,希望对此有更多的深入的了解!

@hzplay awesome 那可以来贡献点文字不?

回到顶部