如何将parameter passing给nodejs模块

我正在使用nodeJS,我想要这样的parameter passing给模块

function (req, res, next) { var test = require('test')({key: 'abc'}); } 

当我这样写我的模块时,我可以得到模块内部的密钥的值

 module.exports= function(key) { console.log(key); } 

但是,如果我写这样的模块:

 exports.fun1 = function(req, res, next) { //something here } exports.fun2 = function(req, res, next) { //something here } 

那我怎么能得到我的论点的价值呢?

你几乎已经拥有了。 你让你的出口是一个接受你的参数的函数,然后你从这个函数return模块内容,如下所示:

用法:

 function (req, res, next) { var test = require('test')({key: 'abc'}); test.fun1(...); } 

在你的模块中:

 // module constructor function module.exports = function(options) { console.log(options); return { fun1: function(req, res, next) { // can access options.key here // something here }, fun2: function(req, res, next) { // can access options.key here // something here } }; } 

你可以把它保存在一个本地variables中,或者在你的模块中创build一个类似于函数的构造函数

像这样的东西

 var _arg1, _arg2; module.exports = { ctor: function(arg1, arg2, etc) { _arg1=arg1; _arg2=arg2 }, moreFunction: function() { //use _arg1 etc } } 

然后用法将是:

 var myModule = require('myModule'); myModule.ctor("bla", 2, null); myModule.moreFunction();