本文为大家解读javascript的模块化,具体内容如下
AMD
是RequireJS在推广过程中对模块定义的规范化产出。异步加载模块,依赖前置,提前执行。 Define定义模块 define([‘require','foo'],function(){return}); Require加载模块(依赖前置) require([‘foo','bar'],function(foo,bar){});
CMD
是SeaJS在推广过程中对模块定义的规范化产出。Define定义exports 导出define(function(require,exports,module){}); module上存储了当前模块上的一些对象。 require(./a)直接引入。Require.async异步引入。 同步加载,依赖就近,延迟执行。
SeaJS 的应用
官方入门例子:http://seajs.org/docs/#quick-start
怎么写一个SeaJS模块?
// 通过 require 引入依赖
var $ = require('jquery');
var Spinning = require('./spinning');
var $ = require('jquery');
var Spinning = require('./spinning');
// 通过 exports 对外提供接口
exports.doSomething = ...
// 或者通过 module.exports 提供整个接口
module.exports = ...
});
在页面中
加载模块
代码:
// seajs 的简单配置
seajs.config({
base: "../sea-modules/",alias: {
"jquery": "jquery/jquery/1.10.1/jquery.js"
}
})
// 加载入口模块
seajs.use("../static/hello/src/main")
以上就是关于javascript模块化的简单介绍,希望对大家学习javascript模块化有所帮助。