如何在node.js中使用`require`来传递variables?
在我的app.js中,我有3行以下。
var database = require('./database.js'); var client = database.client var user = require('./user.js');
user.js文件看起来就像普通的辅助方法一样。 但是,它需要与数据库交互。
user.js的
exports.find = function(id){ //client.query..... }
显然,我想在user.js
文件中使用client
。 有无论如何,我可以通过这个client
的user.js
文件,而我使用require
方法?
我想你想要做的是:
var user = require('./user')(client)
这使您可以将客户端作为模块中每个函数的参数,或者作为模块范围variables如下所示:
module.exports = function(client){ ... }
这个问题类似于: 通过节点中的Module.exportsinheritance
具体回答你的问题:
module.client = require('./database.js').client; var user = require('./user.js');
在user.js中:
exports.find = function(id){ // you can do: // module.parent.client.query..... }
你应该把相同的代码放在user.js中
app.js
var client = require('./database.js').client; // if you need client here at all var user = require('./user.js');
user.js的
var client= require('./database.js').client; exports.find = function(id){ //client.query..... }
我没有看到这样做的任何缺点…