如何避免变量在nodejs服务控制台上打印?

时间:2016-04-19 10:21:14

标签: node.js export local-variables

如何避免在nodejs服务控制台上打印局部变量?

validation.js

function getHash(){
  var hash = [];
  hash = //some logic to create hash
  return hash;
}

var hashTable= getHash();

exports.validateRequest= function(request, path, httpMethod){
  var status= validate(hashTable,request); //some logic to validate request using hashTable
  return status;
}

每次触发API调用时,我的代码都会调用validateRequest方法,但hashTable始终保持不变。我打算计算一次hashTable并重新使用它。因此,我使用局部变量,以便在初始化期间只调用一次getHash()。

就我的实现而言,这很好。但问题是当我启动我的Node.js服务时,hashTable会在服务控制台上打印,如下所示。我怎么能摆脱这个?

Nodejs service console

//code to create hashTable 
function createHashTable() {
  var apis= require('../config/api.js'),
      apiTable = [];
  for (key in apis) {
    //some simple array split and value comparison operations
    apiTable.push({ name: key, path: new RegExp(apis[key].spec.path), method: apis[key].spec.method })
  }
 return apiTable;
}

1 个答案:

答案 0 :(得分:0)

问题在于createHashTable功能。我已将*附加到apis[key].spec.path中的某些路径。这是一个“路径”变量,*会使其成为无效路径。因此错误被打印在控制台上。将代码更正为

var path=apis[key].spec.path + '/*'; apiTable.push({ name: key, path: new RegExp(path), method: apis[key].spec.method })

哈希表生成中没有错误。所以我的控制台看起来很干净。