🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
CommomJS(Node) 每个文件是一个模块,有自己的作用域。 在一个文件中的变量、函数、类都是私有的。 定义模块: // module.js let name = ''; let hello = function () { console.log(name); }; module.exports = { name, hello } // 或者 exports.hello = hello; 加载模块: let module = require('./module.js'); module.sayName(); module.export跟exports的区别 module.exports 方法还可以单独返回一个数据类型(String、Number、Object...),而 exports 只能返回一个 Object 对象 所有的 exports 对象最终都是通过 module.exports 传递执行,因此可以更确切地说,exports 是给 module.exports 添加属性和方法 AMD: Asynchronous Module Definition 异步模块定义。 使用define定义模块 require方法加载模块 define(['module'], function() { let name = ''; function hello() { console.log(name); } return { hello } }) 使用模块: // 通过 require 引入依赖 require(['module'], function(mod) { mod.hello(); // }) CMD define(function(require, exports, module) { // 通过 require 引入依赖 var otherModule = require('./otherModule'); // 通过 exports 对外提供接口 exports.myModule = function () {}; // 或者通过 module.exports 提供整个接口 module.exports = function () {}; }) ES6 export和import。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。 定义模块 export default { name: '' } 使用模块 import people from 'a.js'; console.log(people); // UMD: Universal Module Definition,通用模块定义规范。 其不是专门的规范,而是