加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

我应该在Node.js(Express)应用程序中将MySQL客户端定义在哪里?

发布时间:2020-12-11 23:48:17 所属栏目:MySql教程 来源:网络整理
导读:目前我正在通过在我的app.js和一个特殊的config / environment.js中执行以下操作来为node-mysql设置我的客户端连接: var client = mysql.createClient({ user: 'USER',database: 'DATABASE',password: 'PASSWORD',host: 'HOST'});app.configure(function(){

目前我正在通过在我的app.js和一个特殊的config / environment.js中执行以下操作来为node-mysql设置我的客户端连接:

var client = mysql.createClient({
  user:     'USER',database: 'DATABASE',password: 'PASSWORD',host:     'HOST'
});

app.configure(function(){
  ...
  app.set('client',client);
  ...
});

然后在我的客户端代码中,我只需调用app.settings.client即可使用MySQL客户端.

我不确定这是否是正确的方法,当我正在进行测试时它肯定不起作用,因为我需要一个正在运行的应用程序实例.

有什么建议?

最佳答案 我看到它有三种解决方案:

a)正如@Raynos在评论中建议的那样,使用app.set(key,value);设置db值,然后设置app.set(key)以获取该值.
b)将您的路由包装到一个接受数据库作为参数的函数中.
例:

sample_route.js

module.exports = function (db) {
  return function(req,res,next) {
    // db is accessible here
  }
}

app.js

var = sample_route = require('./sample_route')(db);
app.get('/sample',sample_route);

c)创建一个可在任何地方访问的全局变量(不推荐):global.MY_DB = …;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读