node.js可配置记录器如何工作?

时间:2017-09-29 19:37:13

标签: javascript node.js

我正在阅读Nike Cantelon的一本名为Node.js in Action的书,并坚持使用可配置的记录器实现:

当使用String.prototype.replace()时,我们将一个函数(match,property)设置为第二个参数,我对它的作用一无所知。谁能解释一下什么功能(匹配,属性)呢?编写代码的方式并没有让我对此有所了解..

function setup(format){
let regex = /:(\w+)/g;
return function logger(req, res, next){
      let str = format.replace(regex, (match, property) => {
          return req[property];
      });
      console.log(str);
      next();
  }
}

module.exports = setup;

1 个答案:

答案 0 :(得分:0)

String.replace()函数有两个参数:searchvaluenewvalue。这意味着您正在format字符串中搜索特定模式。找到后,它将替换为req[property]的值。因此该函数将property作为其参数,然后将其用作req对象的键,获取值并替换format字符串中找到的外观。