Express js require()后跟函数(app)

时间:2015-02-02 18:48:41

标签: javascript node.js express

我是Nodejs的新手并表达,我正在浏览一些教程和示例,偶然发现

这个app.js里面 var router = require(' ./ router')(app);

这样做的目的是什么?

这是路由器文件中的内容

module.exports = function (app) {
  // The signup route
  app.use('/signup', require('./routes/signup'));
}

2 个答案:

答案 0 :(得分:0)

您从其他文件导入路由器。 这是一种脚手架技术。模型,视图,控制器和路由器保存在不同的文件中,然后将其导入main.js require()

您可以创建项目模块化,通过团队进行扩展和开发更容易。

答案 1 :(得分:0)

这是javascript中常见的模块化模式,常见于节点。这是你获得的:

  1. 您可以将代码模块化为单独的文件,这样就不会有大块的代码块。

  2. 通过要求将模块作为函数,您可以传递一些变量常量(例如应用程序配置或数据库入口点)。

  3. 您可以使用清除应用程序全局对象的module.exports来选择要公开的内容以及要保密的内容。

  4. 在您提供的代码段中,您将应用配置传递到路由文件,您将在其中创建依赖于变量的路由。如果该路由依赖于内部逻辑,则该逻辑可以限定为routes.js文件,而不是暴露给应用程序的其余部分。