2017-02-01 25 views
1

我已經看到了一些我一直在尋找Nodejs的教程中的代碼。爲什麼一些Nodejs文件在它們的底部有這個?

module.exports = router; 

我也看了這個quick post從sitepoint.com約module.exports,我有點糊塗了......爲什麼我看到在行一些文件(不多)的底部,而在Nodejs的許多教程中,我看到更多來自sitepoint.com的代碼?

有什麼區別?

編輯:我知道這個其他SO question。在問我的問題之前我甚至看過它。我問我的問題的原因是因爲另一篇文章有​​很多關於它的信息,它很難在你剛開始學習Nodejs時從中提取有用的信息。我提出的這個問題的兩個答案闡明瞭我對我所問的內容的理解,因爲頁面上的信息很少理解 - IT更直接,更重要。並非所有人都熟悉Nodejs及其所做的一切,尤其是初學者。

雖然我同意,但這兩個問題在本質上非常相似。老問題有太多的信息,這是我問我的問題。

重要的事情(至少對我來說)現在我明白了module.exports

+0

當你'需要(「文件名」)''該行exports'在「filename.js」是什麼是進口的。 – forgivenson

+2

[Node.js module.exports的用途和你如何使用它的目的是什麼?](http://stackoverflow.com/questions/5311334/what-is-the-purpose-of-node-js -module-exports-how-do-you-use-it) –

+0

@JoeWhite真的嗎? 5年前問這個問題......這個問題是不同的 – user3125823

回答

0

module.exportsrequire()(您可能已經在其他文件的頂部看到過)一起使用,以允許您將JavaScript文件導入其他文件。

例如,假設您有一個名爲MyRoute.js的文件,該文件以module.exports = router;結尾。您想在應用程序中將它用作路由,因此在您設置路由的代碼中,添加var MyRouteVar = require('path/to/MyRoute')'. Now, MyRouteVar is equal to router from the MyRoute.js`文件。

0

隨着

module.exports = router; 

要導出的路由器變量/對象,使得整個應用程序的其他部分可見。

可以導入此使用的任何其他文件要求:

var router = require('router.js'); 
相關問題