Electron: TypeError: Невозможно создать свойство 'default' для символа 'Symbol (nodejs.util.inspect.custom)' - PullRequest
0 голосов
/ 13 апреля 2019

Я разработал электронное приложение со следующим набором технологий:

  • NodeJS (10.15) с Babel для разрешения синтаксиса импорта / экспорта ES6.
  • Секвелирование на SQLite и GraphQL для обработки внутренней базы данных.
  • ReactJS (в комплекте) для представлений.

Я настроил все для работы с Электроном, и запуск команды «электрон» в корневой папке проекта работает без ошибок.

Теперь я пытаюсь распространить его с помощью этого урока: https://electronjs.org/docs/tutorial/application-distribution

Итак, я просто скачал бинарные файлы 4.1.4 для Windows и переместил папку проекта в resources / app /

Но при запуске Electron.exe у меня появляется следующая ошибка:

App threw an error during load
TypeError: Cannot create property 'default' on symbol 'Symbol(nodejs.util.inspect.custom)'
    at Object.<anonymous> (C:\workspace\myapp\resources\app\node_modules\graphql\jsutils\nodejsCustomInspectSymbol.js:18:84)
    at Object.<anonymous> (C:\workspace\myapp\resources\app\node_modules\graphql\jsutils\nodejsCustomInspectSymbol.js:20:3)
    at Module._compile (internal/modules/cjs/loader.js:711:30)
    at Module._compile (C:\workspace\myapp\resources\app\node_modules\pirates\lib\index.js:83:24)
    at Module._extensions..js (internal/modules/cjs/loader.js:722:10)
    at Object.newLoader [as .js] (C:\workspace\myapp\resources\app\node_modules\pirates\lib\index.js:88:7)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
    at Function.Module._load (internal/modules/cjs/loader.js:551:3)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (C:\workspace\myapp\resources\app\node_modules\graphql\jsutils\defineToJSON.js:8:57)
    at Object.<anonymous> (C:\workspace\myapp\resources\app\node_modules\graphql\jsutils\defineToJSON.js:36:3)
    at Module._compile (internal/modules/cjs/loader.js:711:30)
    at Module._compile (C:\workspace\myapp\resources\app\node_modules\pirates\lib\index.js:83:24)
    at Module._extensions..js (internal/modules/cjs/loader.js:722:10)
    at Object.newLoader [as .js] (C:\workspace\myapp\resources\app\node_modules\pirates\lib\index.js:88:7)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
    at Function.Module._load (internal/modules/cjs/loader.js:551:3)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at require (internal/modules/cjs/helpers.js:20:18)

Я также попытался запустить npx electronic resources / app / из папки binaries, и у меня та же ошибка. Поэтому я думаю, что проблема в путях.

Я также пробовал электронный упаковщик, и ошибка та же, потому что этот инструмент выполняет ту же процедуру, что и выше.

Что я могу сделать, чтобы это исправить?

ОБНОВЛЕНИЕ 1: после некоторых расследований я обнаружил, что проблема связана с Вавилоном. Я думаю, когда вы запускаете проект из родительской папки. Я пытаюсь найти решение

1 Ответ

1 голос
/ 13 апреля 2019

Я решил использовать такую ​​конфигурацию для babel / register:

const rootPath=path.resolve(path.join(__dirname, "../../"));

require("@babel/register")({
    root: rootPath,
    extends: path.join(rootPath, '.babelrc'),
    ignore: [/node_modules/],
    only: [rootPath],
})
...