如何使用 module.exports
API 將數據公開給應用程序中的其他文件,或者公開給其他應用程序。
Node 具有內置的模塊系統。
Node.js 文件可以導入其他 Node.js 文件公開的功能。
當你想要導入某些東西時,你可以使用
const library = require('./library')
來導入位於當前文件夾中的 library.js
文件中公開的功能。
在這個文件中,必須先公開功能,才能被其他文件導入。
文件中默認情況下定義的任何其他對象或變量都是私有的,不會對外部世界公開。
這就是 module
系統 提供的 module.exports
API 所允許的。
當你將對象或函數指定為一個新的 exports
屬性時,該對象或函數就被公開了,因此可以在應用程序的其他部分或其他應用程序中導入。
有兩種方法可以實現這樣做。
第一種是將對象分配給 module.exports
,它是模塊系統提供的一個預設對象,這將使你的文件僅導出該對象:
const car = {
brand: 'Ford',
model: 'Fiesta'
}
module.exports = car
//..在另一個文件中
const car = require('./car')
第二種方法是將導出的對象作為 exports
的屬性添加。這種方式允許你導出多個對象、函數或數據:
const car = {
brand: 'Ford',
model: 'Fiesta'
}
exports.car = car
或者直接這樣寫:
exports.car = {
brand: 'Ford',
model: 'Fiesta'
}
在其他文件中,你可以通過引用導入的屬性來使用它:
const items = require('./items')
items.car
或者
const car = require('./items').car
module.exports
和 exports
的區別是什麼?
前者公開它所指向的對象,而後者公開它所指向的對象的屬性。