如何在Express.js应用程序中将业务逻辑与控制器分离

时间:2019-03-01 14:22:56

标签: express controller business-logic

在一次采访中,我遇到一个问题,即如何在Express中将业务逻辑与控制器分离。那是一个正确的解决方案吗?

const db =require('./db')
const helpers =require('./helpers')

exports.getBooksValue = (req, res)=>{
    const books   =  db.get(req.params)
    const booksValue = helpers.calculateBookValue(books)
    res.send(booksValue)
}    

1 个答案:

答案 0 :(得分:1)

实际上,express中没有正确的(标准)解决方案,而例如rails上的ruby以标准方式具有mvc模式,因为express鼓励更大的灵活性。

您的解决方案看起来不错,但是如果您专注于进一步分离,

我建议您制作config文件夹,并在该文件中管理数据库的信息。

在config文件夹中,请确保分开用于生产还是开发。

您还可以在配置文件夹中使用dotenv,以更安全地导入环境值。