node - 使用repl.start()进行诊断 - 访问所有变量等

时间:2018-05-18 09:57:20

标签: node.js express debugging read-eval-print-loop

我正在使用node.js(espress)运行服务器。我已经定义了一个诊断/调试功能,我可以添加到任何控制器。该函数主要只是在控制台中打印出某些变量的值。

示例:

function ConsoleDebug(req, res) {
    console.log(variable1)
    console.log(req.someObject.otherObject.variable2)
}

并添加到控制器中,如下所示:

router.get('/URL', function(req, res, next) {
ConsoleDebug(req, res);
res.render('someview');
});

我想让整个诊断/探索过程更加动态,我已经阅读了很多关于Node.js REPL的好东西,我想我想在代码的任何一点运行它。

我已将它添加到ConsoleDebug()函数中,因此只要使用

触发路由器就可以运行它
function ConsoleDebug(req, res) {
    console.log(variable1)
    console.log(req.someObject.otherObject.variable2)
    repl.start({useGlobal: true})
}

它很好地开始,但它在启动时无法访问任何变量或范围。我想能够写

  

req.someObject.otherObject.variable2

并获得与

生成的输出相同的输出
  

的console.log(req.someObject.otherObject.variable2)

最终,我希望能够使用REPL在代码中的任何位置动态修改任何其他node.js命令,关于它的启动范围,这样我就不必保持在ConsoleDebug()中重写代码,保存,重新启动服务器并观察结果。

这是否可行或是否有更合适的方法/工具?

0 个答案:

没有答案