expression和分割路线到单独的文件

我有一个快速的应用程序,遵循标准的Express 4格式。 即依赖顶部,然后configuration应用程序,然后路由,最后,听。

我试图将我的路线分成分类的文件(例如routes / authentication.js),但是应用程序没有执行依赖关系,所以当我运行node app.js ,应用程序中断,因为CLI说护照不是'在routes / authentication.js中定义,因为它在app.js的顶部定义了所有其他的依赖关系。

我想我的问题是我怎么去'共享'的依赖关系,所以我不必在每个文件的顶部列出他们? 这是我如何要求单独的文件:

app.js

 require('./app/routes/authentication')(app); 

路线/ authentication.js

 module.exports = function (app) { [routes] } 

在经常使用依赖模块的地方,你可以在app上设置值,例如app.config = require('./config') 。 ( 但是 ,为了清楚起见,通常最好在该模块的顶部指定特定模块的依赖关系,除了为每个模块添加更多的代码之外,没有其他危害。

此外,虽然使用构造函数并将app传递给此函数是可行的,但您也可以使用模块来实现此目的。 确保在创buildapp导出app ,即var app = module.exports = express(); 然后只是var app = require('../app'); 来自其他图书馆。 你会在一些Express例子中看到这个。