Electron / NodeJS / VSCode: какие проблемы с синтаксисом или инфраструктурой не будут отображаться в консоли отладки? - PullRequest
0 голосов
/ 22 февраля 2020

Проблема

При работе с Electron и VSCode у меня было несколько синтаксических проблем в коде, но не было ошибок / предупреждений ни в консоли отладки VSCode, ни в консолях Electron Chromium.

С помощью консоли Electron Chromium я убедился, что я включил все уровни, и Preserve log.

Примеры

Проблемы, которые не давали подсказок консоли, включают

  • С определенным сценарием страницы, а не main.js или rederer.js, я не включил nodeIntegration, поэтому никакие NodeJS модули не работали
  • Забыл добавить let / var при определении переменных, происходящих из других миров сценариев.
  • Забыл добавить new при создании объекты.
  • Изменена подпись конструктора класса ES6, например, введено больше входных аргументов, но код создания объекта не изменился соответствующим образом.
  • Удар по неопределенному объекту.
  • При работе с HTML строками с JS, есть ошибки в HTML строках.

Я чувствую крайне необходимо выяснить полный список «тихих» проблем, которые никогда не получат обратной связи IDE / интерпретатора во время разработки на JS / NodeJS / Electron land. Иначе я бы потерял слишком много времени на глупых ошибках.

Или я упускаю что-то очевидное? Конфигурация инструмента или просто недопонимание проблем?

Обновления

Я обнаружил, что main.js или renderer.js работает с отладчиком, но так как я использую третью сторону lib electron-tabs, отладчики не поддерживают дополнительный код, связанный с моими вкладками electron-tab. Приведенные выше примеры относятся к этим вкладкам JS кода. Пока не знаю почему, но, по крайней мере, это важная деталь.

Далее, я хотел бы знать, будет ли добавление дополнительных страниц иметь значение.

1 Ответ

0 голосов
/ 24 февраля 2020

Я наконец нашел свою проблему после большого количества копаний.

Насколько я понимаю, с Electron нам нужно включить ВСЕ сценарии в соответствующие процессы , например, main или рендер, чтобы можно было использовать консоли отладки. В противном случае обратная связь будет недоступна, за исключением базового c линтера, который поставляется с VSCode.

После добавления в мой основной HTML скриптов, создающих проблемы, чтобы он выглядел следующим образом:

    <script>
        // You can also require other files to run in this process
        require('./renderer.js')
        require('./tab1.js')
    </script>

консоль отладки начинает работать с этими дополнительными сценариями, такими как tab1.js.

Но значит ли это, что мне придется включать все сценарии только в эти два процесса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...