Jos*_*ith 5 mysql node.js express
目前我正在设置我的客户端连接,node-mysql通过在我app.js的特殊情况中执行以下操作config/environment.js:
var client = mysql.createClient({
user: 'USER',
database: 'DATABASE',
password: 'PASSWORD',
host: 'HOST'
});
app.configure(function(){
...
app.set('client', client);
...
});
Run Code Online (Sandbox Code Playgroud)
然后在我的客户端代码中,我只是打电话app.settings.client使用MySQL客户端.
我不确定这是否是正确的方法,当我正在进行测试时它肯定不起作用,因为我需要一个正在运行的应用程序实例.
有什么建议?
我认为有3种解决方案:
a)正如 @Raynos 在评论中建议的那样,使用app.set(key, value);设置 db 值,然后使用 app.set(key) 来获取该值。
b) 将您的路由包装到接受数据库作为参数的函数中。例子:
示例路由.js
module.exports = function (db) {
return function(req, res, next) {
// db is accessible here
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序.js
var = sample_route = require('./sample_route')(db);
app.get('/sample', sample_route);
Run Code Online (Sandbox Code Playgroud)
c) 创建一个可以在任何地方访问的全局变量(但不推荐):global.MY_DB = ...;
| 归档时间: |
|
| 查看次数: |
3640 次 |
| 最近记录: |