在控制器中
class myController{
constructor(req, res, next){
this.req = req;
this.res = res;
this.next = next;
}
// method1
func1(){}
func2(){}
}
在路线中
router.get('/home', (req, res, next) => {
new myController(req, res, next).func1()
})
虽然在所有博客中我都发现了像这样的单例类
class myController {
myfunc(req, res){
// logic
}
}
export new myController()
哪种方法更好?在每个请求上创建对象有什么缺点?
尝试在每个请求上创建对象
首先,您采用的方法与 Nest.js 框架非常相似。因此,如果您想在生产中以 OOP 风格编写代码 - 如果可能的话,您可能应该学习/使用 Nest.js,因为它具有许多出色的功能,您不必考虑这些东西。
回到你的问题:
users.controller.ts
并将控制器功能导出为默认值。