[英]Express & splitting routes into separate files
我有一个遵循标准Express 4格式的快速应用程序。 即,依赖于顶部,然后是app config,然后是路由,最后是listen。
我正在尝试将我的路由分离成分类文件(例如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
传递给此函数,但您也可以使用模块来实现此目的。 确保在创建app
导出app
,即var app = module.exports = express();
然后只需var app = require('../app');
来自其他图书馆。 您将在一些Express示例中看到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.