Не удается найти модуль {applicationPath}

Я пытаюсь запустить приложение в режиме отладки из кода Visual Studio. Когда я нажимаю кнопку отладки, возникает следующая ошибка:

A JavaScript error occurred in the main process

Uncaught Exception:
Error: Cannot find module 'C:\electron2\electron_app\--inspect-brk=15965'
    at Module._resolveFilename (internal/modules/cjs/loader.js:602:15)
    at Function.Module._resolveFilename (C:\electron2\electron_app\node_modules\electron\dist\resources\electron.asar\common\reset-search-paths.js:35:12)
    at Function.Module._load (internal/modules/cjs/loader.js:528:25)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at init (C:\electron2\electron_app\node_modules\electron-compile\lib\config-parser.js:294:16)
    at main (C:\electron2\electron_app\node_modules\electron-prebuilt-compile\lib\es6-init.js:58:29)
    at Object.<anonymous> (C:\electron2\electron_app\node_modules\electron-prebuilt-compile\lib\es6-init.js:61:1)
    at Object.<anonymous> (C:\electron2\electron_app\node_modules\electron-prebuilt-compile\lib\es6-init.js:63:3)
    at Module._compile (internal/modules/cjs/loader.js:711:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:722:10)

Моя конфигурация отладки выглядит так

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Debug",
        "type": "node",
        "request": "launch",
        "cwd": "${workspaceRoot}",
        "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
        "windows": {
          "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
        },
        "args" : ["."]
      }
    ]
  }

Также обнаружена еще одна ошибка:

No such module: atom_browser_features

Никогда раньше не слышал о таком модуле.

Раньше работала, но вдруг перестала работать. Кто-нибудь знает, в чем может быть проблема?

То же самое, похоже, ошибка, которую они могли внести в v3.0.x. Рассмотрите возможность создания проблемы на их гитхаб. Примечательно, что при поиске в Google "atom_browser_features" ничего не появляется, кроме этого q.

noseratio 08.11.2018 00:53

Похоже, --inspect-brk=15965 как-то интерпретируется как «основной» скрипт. Было бы полезно увидеть команду, которую VSCode генерирует для запуска электрона под отладчиком.

Jake Holzinger 08.11.2018 02:30

@JakeHolzinger, в моем случае команда определена в launch.json (который я скопировал из этот рецепт VSCode), и это "${workspaceFolder}/node_modules/.bin/electron.cmd"

noseratio 08.11.2018 03:52

Первая строка вывода в представление «Консоль отладки» - это команда, на которую я ссылаюсь. Используя проект electron-quick-start, я получаю следующую команду G:\Development\vscode-electron-debug\electron-quick-start/no‌​de_modules/.bin/elec‌​tron.cmd --inspect-brk=32785 main.js, когда запускаю конфигурацию «Debug Main Process». У меня нет проблем с запуском приложения быстрого запуска под [email protected], так что проблема, скорее всего, в другом.

Jake Holzinger 08.11.2018 05:16

@JakeHolzinger, это будет C:/test/node_modules/.bin/electron.cmd --remote-debugging-port=9223 . --inspect-brk=47365. Обновление до версии 3.0.8, похоже, устранило проблему, спасибо!. Вы все равно должны увидеть эти ошибки, если отметите All Exceptions в режиме отладки (F1, «Сосредоточьтесь на представлении точек останова»), а затем начнете отладку, но они больше не прерывают остальную часть сеанса отладки для меня. Я предполагаю, что их можно безопасно игнорировать, потому что они являются исключениями первого шанса, которые обнаруживаются позже. Не стесняйтесь размещать ответ, чтобы получить награду :)

noseratio 08.11.2018 06:34

@JakeHolzinger о, и передайте мои наилучшие пожелания Игорю в качестве доказательства шести степеней разделения)

noseratio 08.11.2018 06:37

Без проблем. Ты знаешь Игоря, а? Маленький мир :) подойдет!

Jake Holzinger 08.11.2018 07:05

Есть ли у вас в devDependencies электронная сборка? Вам это действительно нужно? Попробуйте удалить его: удалите строку, удалите node_modules и package-lock.json и выполните новую установку npm.

Dirk 11.10.2019 10:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
8
1 420
2

Ответы 2

Вместо "$ {workspaceRoot} /node_modules/.bin/electron" используйте "{workspaceRoot} \\ node_modules \ .bin \\ electronic" в runtimeexecutable и windows: {runtimeexecutable}, как я полагаю, вы используете Windows.

Спасибо, но не помогло.

michal.jakubeczy 18.10.2018 11:17

Вероятно, у вас возникли проблемы, потому что --inspect-brk=15965 интерпретируется как «основной» сценарий.

Предположим, что командная строка сгенерирована аналогично noratio:

C:/test/node_modules/.bin/electron.cmd --remote-debugging-port=9223 . --inspect-brk=47365

Вы можете видеть, что --inspect-brk идет после объявленных аргументов, однако аргументы узла должны быть объявлены до «основного» сценария. Вы можете попробовать выполнить обновление до [email protected], чтобы увидеть, решится ли проблема сама собой. В качестве альтернативы вы можете попытаться более четко указать точку входа, как это было сделано в проекте electron-quick-start.

{
    "name": "Debug Main Process",
    "type": "node",
    "request": "launch",
    "cwd": "${workspaceRoot}",
    "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
    "windows": {
      "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
    },
    "program": "${workspaceRoot}/main.js",
    "protocol": "inspector"
}

Спасибо за совет. Я пробовал (электронное обновление + изменение конфигурации), но, к сожалению, не помогает. Также невозможно запустить приложение из командной строки. Ошибка, которую я получаю, относится к строке: const app = electron.app || electron.remote.app; - это TypeError: Cannot read property 'app' of undefined

michal.jakubeczy 12.12.2018 09:56

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