1.commonjs
导入:
var math = require('math');
math.add(2,3); // 5
导出:
module.exports={}
应用会停止并等待加载
2.AMD
是"Asynchronous Module Definition"的缩写
它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
require([module], callback);
require(['math'], function (math) {
math.add(2, 3);
});
有两个Javascript库实现了AMD规范:和
定义模块:
define(id?,dependency?,factory);
以上来自http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html
3.es6的module
import { stat, exists, readFile } from 'fs';
export {firstName, lastName, year}; 参考:http://es6.ruanyifeng.com/#docs/module