规范CommonJS和实现NodeJS
http://www.commonjs.org/
math.js
function add(x, y){
return x + y;
}
module.exports = {
add: add
}
main.js
var math = require('./math')
console.log("2+2=" + math.add(2, 2));
node main.js
规范AMD和实现RequireJS
https://github.com/amdjs/amdjs-api
index.html
<!DOCTYPE html>
<html>
<head>
<script data-main="app" src="require.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
app.js
requirejs(['math'], function(math){
console.log("2+2=" + math.add(2, 2));
});
math.js
define(function(){
var add = function(x, y){
return x + y;
};
return {
add: add
};
});
规范CMD和实现seajs
http://seajs.org
https://github.com/seajs/seajs
index.html
<!DOCTYPE html>
<html>
<head>
<script src="sea.js"></script>
</head>
<body>
<h1>Hello World</h1>
<script>
seajs.use('math', function(math){
console.log(math.add(2, 2))
})
</script>
</body>
</html>
math.js
define(function(require, exports, module){
exports.add = function(x, y){
return x + y;
};
});
UMD
ES6模化
浏览器目前还不支持, 不过可以通过babel工具进行转换,再通过webpack等工具进行打包部署。
TypeScript模块
放在TypeScript再介绍。