正在写一本关于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 回复
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时执行的。