узел - диагностика с repl.start () - доступ ко всем переменным и т. д. - PullRequest
0 голосов
/ 18 мая 2018

Я использую сервер с 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');
});

IЯ хочу сделать весь диагностический / исследовательский процесс более динамичным, и я прочитал много замечательных вещей о REPL Node.js и решил, что хочу запустить его в любой точке кода.

I 'мы добавили его в функцию 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 (), сохранять, перезагружать сервер и наблюдать за результатами.

Это даже выполнимо или естьболее подходящий метод / инструмент?

...