Nodejs模块实现

时间:2012-01-09 08:04:08

标签: javascript node.js

如何实现一个模块说'test'暴露两个函数getter和setter来获取和设置nodejs中的成员数据?

诀窍是来自模块的setter的数据设置说'a'超过'test'应该可以通过'test'的getter访问模块'b'

场景是,一旦我们从索引注册req和res http请求的对象'test',应该可以通过声明require('test')

来访问应用程序中的所有其他模块

这在nodejs中是否可行?

1 个答案:

答案 0 :(得分:2)

即使您设置了一个全局变量,也无法实现这一点,因为reqres可以在每个页面请求中访问(因此将它们设置为全局变量会导致竞争条件发生)。

实现此目的的唯一方法是将req和res作为参数传递给该模块。

示例:

<强> app.js

var http = require('http');
http.createServer(function (req, res) {
  require('./sample')(req, res);
}).listen(1337, "127.0.0.1");

<强> sample.js

module.exports = function (req, res) {
  // do stuff with req and res here
}