如何将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();