gpt4 book ai didi

javascript - 表达和拆分路线到单独的文件

转载 作者:行者123 更新时间:2023-11-30 12:42:46 27 4
gpt4 key购买 nike

我有一个遵循标准 Express 4 格式的 Express 应用程序。即,顶部的依赖项,然后是应用程序配置,然后是路由,最后是监听。

我正在尝试将我的路由分离到分类文件中(例如 routes/authentication.js),但是应用程序没有携带依赖项,所以当我运行 node app.js 时应用程序中断是因为 CLI 表示护照未在 routes/authentication.js 中定义,实际上它不是,因为它与所有其他依赖项一起定义在 app.js 的顶部。

我想我的问题是如何“共享”依赖项,这样我就不必将它们列在每个文件的顶部?这就是我需要单独文件的方式:

app.js

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

routes/authentication.js

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

最佳答案

如果依赖模块确实经常使用,而您已经可以访问应用程序,则可以在应用程序上设置值,例如app.config = require('./config')。 (但是,为了清楚起见,通常最好在该模块的顶部指定特定模块的依赖关系。除了为每个模块添加更多代码外,没有其他坏处。)

此外,虽然可以使用构造函数并将 app 传递给此函数,但您也可以为此目的使用模块。确保在创建时导出 app,即 var app = module.exports = express(); 然后只是 var app = require('../app'); 来自其他库。您会在一些 Express 示例中看到这一点。

关于javascript - 表达和拆分路线到单独的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com