JavaScript/如何在node.js中创建新对象?

JavaScript/如何在node.js中创建新对象?,javascript,node.js,Javascript,Node.js,我使用express,在node.js中有以下代码: app.post('/printUp', function(req, res) { var multipl = new require('./multUploud').printNum(req, res); }) 我的multuplound.js中有以下内容: var partNum = 0; module.exports = { printNum: function (req, res){ partNum

我使用
express
,在
node.js
中有以下代码:

app.post('/printUp', function(req, res) {
    var multipl = new require('./multUploud').printNum(req, res);
})
我的multuplound.js中有以下内容:

var partNum = 0;
module.exports = {
     printNum: function (req, res){
        partNum ++;
        console.log(partNum);
    }
}
如果我发送了两个post命令,我会看到第一次迭代中的
partNum
是1,第二次迭代中是2


是否有任何选项可以为每个app.post请求创建一个新实例,以便打印1和1?

只需将
partNum
作为对象的属性即可。您的
multuploy.js
应该是这样的:

module.exports = MultiUpload;

function MultiUpload() {
  this.partNum = 0;
}

MultiUpload.prototype.printNum = function (req, res) {
  this.partNum++;
  console.log(this.partNum);
}
然后,在您的特快专递中:

app.post('/printUp', function(req, res) {
    var MultiUpload = require('./multUploud');
    var multipl = new MultiUpload();
    multipl.printNum(req, res);
})

new
在那里做什么?对该方法的调用是相同的?是的,其他所有内容都是相同的。它为该对象写入了没有方法printNum噢,缺少一对大括号:
var multiple=new require('./multuploy')()。printNum(req,res)。我用更简洁的代码更新了答案。