繁体   English   中英

将路由快速拆分为单独的文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM