2017-02-01 24 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'); 
相关问题