gpt4 book ai didi

node.js - 使用 mysql 与express/Node : Is using globals ok?

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:27 25 4
gpt4 key购买 nike

我可以使用以下命令轻松地将快速配置中的新连接附加到数据库:

global.db = new DB.adapter({});

因此,我可以在我希望创建的任何模型中访问它。 (我正在使用active record和mysql以及express)。

但是,这是否是 a) 不安全、b) 不好的做法?

最佳答案

我不认为这会不安全,但一般来说使用全局变量是不好的做法:

  1. 包括不需要它的模块的数据库全局。没什么大不了的,但是有点不干净。
  2. 将特定数据库实例与确实需要它的模块紧密耦合。
    • 使测试变得更加困难
    • 使得为特定模块更改为不同数据库变得更加困难。

相反,使用 CommonJS 会更容易,它内置于 Node 中并且非常易于使用。

// db.js
module.exports = new DB.adapter({});

//index.js
var db = require("./db");

关于node.js - 使用 mysql 与express/Node : Is using globals ok?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455125/

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