Js 模块规范对比 CommonJs AMD ES6
JavaScript 中的模块,本质上都是为了解决 Js 的作用域问题而定义的模块形式 AMD 浏览器环境 异步 AMD (The Asynchronous Module Definition) 规范的格式和栗子如下 define(id?, dependencies?, factory); //格式 //example define(“alpha”, [“require”, “exports”, “beta”], function (require, exports, beta) { exports.verb = function() { return beta.verb(); //Or: return require(“beta”).verb(); } }); CommonJs 同步加载模块 服务器环境 浏览器也可以变相实现 特点: 运行时加载,取出的是一个对象。 CommonJS 模块输出的是值的缓存,不存在动态更新。 // foobar.js function foobar(){…