Отладка узловых модулей в 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 мне очень помог.

https://github.com/nwjs/nw.js/issues/4919

Посмотрите на узел-инспектор

Вы должны иметь возможность запустить приложение с node-debug вместо node и он откроет chrome devtools, заглянув внутрь вашего приложения.

Вы также можете использовать это для отладки удаленного сервера.

Затем вы можете добавить точки останова, посмотреть переменные и т. Д., Как если бы вы отлаживали веб-приложение.

Другие вопросы по тегам