gpt4 book ai didi

node.js - 如何在 Express 应用程序中的任何位置重用相同的 Sequelize 连接?

转载 作者:太空宇宙 更新时间:2023-11-04 00:02:44 26 4
gpt4 key购买 nike

这是我的问题,我有一个 Express 应用程序,我将 Controller (即为每个路由调用的函数)与应用程序入口点分开:

index.js

...
const sequelize = new Sequelize(...);
const PersonController = require('controllers/PersonController');
router.route('/persons').get(PersonController.index)
...

Controller /PersonController.js

...
exports.index = (req, res) => {
//Return all the lines of the `Persons` table
};
...

但要访问数据库,我必须有权访问 Controller 中的 sequelize 实例。我该怎么办?

感谢您的帮助。

最佳答案

有很多方法...

我最喜欢的:您可以将 Controller 创建为一个类...

这是一种代码,(不是最好的,但可以运行)

Controller 类

class PersonController {
constructor(sequelize) {
this.sequelize = sequelize;
}

index(req, res){
const sequelize = sequelize;
... your code ...
}

}

module.exports = PersonController;

之后

const sequelize = new Sequelize(...);
const PersonController = require('controllers/PersonController');

router.route('/persons').get((req, res) => {
const controller = new PersonController(sequelize);
controller.index(req, res);
})

关于node.js - 如何在 Express 应用程序中的任何位置重用相同的 Sequelize 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53915946/

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