我有一个看起来像这样的模块:
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.property1
和myModule.property2
),还是每个用户都是唯一的?
我是否应该为每个用户创建此模块的实例?
答案 0 :(得分:0)
是的,这两个属性是共享的。您无法真正创建模块的实例,而是可以导出对象并创建该实例。