(一)ES6Module
在ES6之前社区指定了一些模块加载方案
最主要的有
CommonJS 和 AMD两种
前者是用于服务器
后者用于浏览器
ES6在语言标准上实现了模块功能Module
而且实现的相当简单,完全可以取代
CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案
创建A.JS
var sex="boy";var echo = function(value){ ???console.log(value)}console.log("呵呵")//导出sex echoexport {sex,echo}
创建B.JS
//引入import {sex,echo} from "./A.js"console.log(sex) ??// boyecho(sex) // boy
创建index.html页面
<!DOCTYPE html><html><head lang="en"> ???<meta charset="UTF-8"> ???<title></title></head><body><script type="module" src="B.js"></script></body></html>
会输出 A.JS里的内容
(二)CommonJS规范
创建A.js
let s = ‘hello‘;function greet(name){ ???console.log(s+‘,‘+name+‘!‘);}//导出 greetmodule.exports = greet;
创建B.js
// 引入 ???A.js内容let greet = require(‘./A‘);let s =‘老干爹!‘;greet(s);
node B.js 执行
(三)ADM规范
AMD规范是"Asynchronous Module Definition"的缩写
意思就是异步模块定义
AMD更适合浏览器加载
AMD也是用require()语句加载模块,但是不同于CommonJS,它要求两个参数
require([moudule,callback]);
第一个参数[moudule],是一个数组,里面的成员就是要加载的模块;
第二个参数callback,则是加载成功之后的回调函数
JS模块化
原文地址:http://www.cnblogs.com/zzzzzzzsy/p/7790071.html