模块化 Sea.js(CMD)规范 RequireJS(AMD)规范 的用法
插入第三方库AMD CMD都 一样 如:JQ(再JQ源码里修改)
使用seajs的步骤
1、HTML里引入seajs
<script src="./lib/sea.js"></script>
入口:seajs.use("./main");
2、定义模块define
function有三个参数:require参数用来引入别的模块,exports和module用来导出模块公共接口。
define(function(require, exports, module) {
//添加jquery依赖
var $ = require('jquery');
function Test(container){
this.container = $(container);
}
//提供模块的外部接口
module.exports = Test;
Test.prototype.changeColor= function () {
var v = this.container;
v.css('color','red');
}
});
使用RequireJS的步骤
1.HTML里引入Require.js
使用RequireJS首先需要引入require.js
<script data-main="main" src="lib/require.js"></script>
通过data-main指定js主模块,而SeaJS使用seajs.user(“main”);的方式引入主模块。
2、定义模块define(可以和jea.js一样的定义方式)
define(function(){
var sum = function(a,b){
return parseFloat(a) + parseFloat(b);
}
return{
sum : sum
}
});
RequireJS的模块依赖通过如下方式:
模块的依赖集中写在一块['jquery','a','b','c'],而SeaJS仅仅是在用到模块的时候才使用require引入,也就是模块的引入是分散的。
require(['jquery','math'],function($,math){
//测试jquery的使用
var data = $("#div1").html();
console.log(data);
//测试math模块
var sum = math.sum(12,24);
console.log(sum);
});