@zuart
... уже и не знаю, нуп, похоже ...

Как подружить отладчик Visual Code с приложением на Electron?

Приветствую.

Досталось тут в наследство приложение, написанное на 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.js
import { app, BrowserWindow } from 'electron';
import { autoUpdater } from 'electron-updater';
import log from 'electron-log';
import MenuBuilder from './menu';

........


Буду крайне признателен за любую помощь!
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы