Отладка узловых модулей в nwjs
Мы разрабатываем приложение, основанное на узле webkit (nwjs), которое представляет собой смесь узловых модулей и углового кода. Большая часть бизнес-логики перенесена в модули узлов, и я не нашел способа отладки этого кода в работающем приложении.
Отладка с помощью devtools, похоже, не работает, и это известное ограничение или ошибка ( Отладка с помощью devtools). Я даже пытался потребовать node-monkey
из одного из скриптов, надеясь открыть какой-нибудь бэкдор;) - к сожалению, не сработало.
Так есть ли другой способ или хитрость для (удаленной) отладки кода?
2 ответа
Я использую расширение Chrome Debugger для отладки модулей моего узла в приложении nwjs.
Вот конфиг в файле launch.json:
{
"name": "Launch nwjs",
"type": "chrome",
"request": "launch",
"webRoot": "${workspaceRoot}/src", //where you put your .js files
"runtimeExecutable": "nw"
"runtimeArgs": [
"${workspaceRoot}",
"--chrome-remote-port=9222"
],
"sourceMaps": false,
"diagnosticLogging": true,
"port": 9222
},
Мне пришлось изменить некоторые файлы из VS Code, так как редактор игнорирует URL, которые начинаются с chrome-extension:// по умолчанию, а Nwjs запускает ваше приложение по этому протоколу...
Этот вопрос на GitHub мне очень помог.
Посмотрите на узел-инспектор
Вы должны иметь возможность запустить приложение с node-debug
вместо node
и он откроет chrome devtools, заглянув внутрь вашего приложения.
Вы также можете использовать это для отладки удаленного сервера.
Затем вы можете добавить точки останова, посмотреть переменные и т. Д., Как если бы вы отлаживали веб-приложение.