JavaScript在使用時存在兩大問題,文件依賴和命名衝突。模塊化
一個功能就是一個模塊,多個模塊能夠組成完整應用,抽離一個模塊不會影響其餘功能的運行。函數
// a.js // 在模塊內部定義變量 let version = 1.0; // 在模塊內部定義方法 const sayHi = name => `您好, ${name}`; // 向模塊外部導出數據 exports.version = version; exports.sayHi = sayHi;
導入模塊時後綴能夠省略ui
// b.js // 在b.js模塊中導入模塊a let a = require('./b.js'); // 輸出b模塊中的version變量 console.log(a.version); // 調用b模塊中的sayHi方法 並輸出其返回值 console.log(a.sayHi(''));
module.exports.version = version; module.exports.sayHi = sayHi;
exports是module.exports的別名(地址引用關係),導出對象最終以module.exports爲準spa
exports.version = version; module.exports.version = version;
module.exports = { name: 'zhangsan', }