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

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

概述目前我正在通过在我的app.js和一个特殊的config / environment.js中执行以下 *** 作来为node-mysql设置我的客户端连接:var client = mysql.createClient({ user: 'USER', database: 'DATABASE', password: 'PASSWORD', ho

目前我正在通过在我的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客户端.

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

有什么建议?

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

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 = …;

总结

以上是内存溢出为你收集整理的我应该在Node.js(Express)应用程序中将MySQL客户端定义在哪里?全部内容,希望文章能够帮你解决我应该在Node.js(Express)应用程序中将MySQL客户端定义在哪里?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1168572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存