/

使用 `exports` 從 Node 文件中公開功能

使用 exports 從 Node 文件中公開功能

如何使用 module.exports API 將數據公開給應用程序中的其他文件,或者公開給其他應用程序。

Node 具有內置的模塊系統。

Node.js 文件可以導入其他 Node.js 文件公開的功能。

當你想要導入某些東西時,你可以使用

1
const library = require('./library')

來導入位於當前文件夾中的 library.js 文件中公開的功能。

在這個文件中,必須先公開功能,才能被其他文件導入。

文件中默認情況下定義的任何其他對象或變量都是私有的,不會對外部世界公開。

這就是 module 系統 提供的 module.exports API 所允許的。

當你將對象或函數指定為一個新的 exports 屬性時,該對象或函數就被公開了,因此可以在應用程序的其他部分或其他應用程序中導入。

有兩種方法可以實現這樣做。

第一種是將對象分配給 module.exports,它是模塊系統提供的一個預設對象,這將使你的文件僅導出該對象:

1
2
3
4
5
6
7
8
9
10
const car = {
brand: 'Ford',
model: 'Fiesta'
}

module.exports = car

//..在另一個文件中

const car = require('./car')

第二種方法是將導出的對象作為 exports 的屬性添加。這種方式允許你導出多個對象、函數或數據:

1
2
3
4
5
6
const car = {
brand: 'Ford',
model: 'Fiesta'
}

exports.car = car

或者直接這樣寫:

1
2
3
4
exports.car = {
brand: 'Ford',
model: 'Fiesta'
}

在其他文件中,你可以通過引用導入的屬性來使用它:

1
2
const items = require('./items')
items.car

或者

1
const car = require('./items').car

module.exportsexports 的區別是什麼?

前者公開它所指向的對象,而後者公開它所指向的對象的屬性。

tags: [“Node.js”, “module exports”, “exports”, “JavaScript”]