Приветствую.
Досталось тут в наследство приложение, написанное на Electron + React + Redux. Сказать, что передали проект отвратно - ничего не сказать (только полная нецензурщина в голове):
- документации по приложению нет вообще, даже ТЗ базового, не говоря про описание архитектуры
- комментариев в коде нет никаких, откуда и куда ноги растут непонятно, устной информации тоже нет и связи с разрабами нет
- выяснилось, что версий приложения как минимум три, и в процессе мутации лишний код не удалялся и сейчас нет ни малейшего понятия, что используется, а что лишнее
Чтобы хоть как-то понять, откуда ноги растут и что со всем этим делать и как устранять баги, хотел пройти рабочие функции с помощью отладчика. Но никак не удается подружить IDE Visual Code с самим приложением.
Сложность заключается в том, что в коде используются директивы ES6 (оно же babel) и помимо прочего отладку необходимо проводить "с точки входа" в приложение, а не просто подключиться к уже запущеному процессу (при старте выполняется ряд процедур, на которые и есть подозрения в багнутости).
Удалось найти информацию, как раздельно подружить отладчик с ES6 кодом или Electron, но так, чтобы совместить - весь день промудохался - результата ноль.
Удалось найти самую близкую "рыбу" по структуре файловой организации к этому проекту (скорее всего именно с нее и начинали разработку этой поделки) -
https://www.oodlestechnologies.com/blogs/Create-De... . Прежде чем переходить на отладку "поделки" пытаюсь настроить пошаговую отладку на этой "рыбе".
Добавлено. Самая "вменяемая" ошибка происходит при:launch.json{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main 1",
"type": "node",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
},
"program": "${workspaceRoot}/app/main.dev.js",
"protocol": "inspector",
},
]
}
текст ошибкиApp threw an error during load
/home/zloy/Projects/test-aaa/app/main.dev.js:13
import { app, BrowserWindow } from 'electron';
^
SyntaxError: Unexpected token {
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:660:28)
...
}
main.dev.jsimport { app, BrowserWindow } from 'electron';
import { autoUpdater } from 'electron-updater';
import log from 'electron-log';
import MenuBuilder from './menu';
........
Буду крайне признателен за любую помощь!