exports和module.exports

共性

做用都是將文件模塊的方法屬性暴露給require返回的對象進行調用。數組

區別

包含關係bash

exports module.exportsui

也就是說module.exports能夠替代exports,反之則不行。spa

實際上,exports是指向module.exports的引用,module.exports的初始值是一個空對象{},require()返回的是module.exports而不是exports.因此一旦module.exports有了新的引用,exports就和module.exports失去聯繫,導不出了。code

//person.js
exports.name = 'sicily';
console.log(module.exports)//{name:'sicily'}
module.exports = {name:'becky'};
複製代碼
show.js
var person = require('./person');
console.log(person.name)//becky
複製代碼

也能夠這樣理解:exports是給module.exports添加屬性和方法。對象

返回數據類型ci

exports返回object對象,module.exports方法還能夠單獨返回一個數據類型。當須要返回一個類,數組,字符創時,就必須用module.exports.string

相關文章
相關標籤/搜索