我应该创建模块实例吗?

时间:2015-05-20 01:54:52

标签: javascript node.js

我有一个看起来像这样的模块:

module.exports = {
    property1: {}, 
    property2: {},
    fucnct1: function(one, two){
        this.property1 = one;
        this.property2 = two;
    }
}

然后我做以下

var myModule = require("./myModule.js");

var api = {
    handleRequest: function(req, res){
        // someValue1 and someValue2 are different for each request
        myModule.funct1(someValue1, someValue2)
    }
};

// Handle the http request.
handleRequest = function(req, res){
    var apiInst = Object.create(api);
    apiInst.handleRequest(req, res);
};

// Start the server
var server = http.createServer(handleRequest);
server.listen(port, function(){
    console.log("Listening on port " + port || "Could not start server");
});

当两个或更多人同时点击服务器时,他们是否在模块中共享这些属性(myModule.property1myModule.property2),还是每个用户都是唯一的?

我是否应该为每个用户创建此模块的实例?

1 个答案:

答案 0 :(得分:0)

是的,这两个属性是共享的。您无法真正创建模块的实例,而是可以导出对象并创建该实例。