在我的app.js中,我有3行以下.
var database = require('./database.js');
var client = database.client
var user = require('./user.js');
Run Code Online (Sandbox Code Playgroud)
user.js文件看起来就像普通的帮助器方法.但是,它需要与数据库进行交互.
user.js的
exports.find = function(id){
//client.query.....
}
Run Code Online (Sandbox Code Playgroud)
显然,我想client
在user.js
文件内部使用.无论如何我可以将它传递client
给user.js
文件,而我正在使用require
方法?
Dsl*_*yer 53
我想你想要做的是:
var user = require('./user')(client)
Run Code Online (Sandbox Code Playgroud)
这使您可以将客户端作为模块中每个函数的参数,或者作为模块范围变量,如下所示:
module.exports = function(client){
...
}
Run Code Online (Sandbox Code Playgroud)
此问题类似于:通过节点中的Module.exports继承
专门回答你的问题:
module.client = require('./database.js').client;
var user = require('./user.js');
Run Code Online (Sandbox Code Playgroud)
在user.js中:
exports.find = function(id){
// you can do:
// module.parent.client.query.....
}
Run Code Online (Sandbox Code Playgroud)