如何避免在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会在服务控制台上打印,如下所示。我怎么能摆脱这个?
//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;
}
答案 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 })
哈希表生成中没有错误。所以我的控制台看起来很干净。