电子:TypeError:无法在符号“ Symbol(nodejs.util.inspect.custom)”上创建属性“ default”

时间:2019-04-13 13:29:49

标签: node.js electron graphql packager

我开发了具有以下技术堆栈的电子应用程序:

  • 带有Babel的NodeJS(10.15),允许ES6导入/导出语法。
  • 依序使用SQLite和GraphQL处理内部数据库。
  • ReactJS(捆绑销售)以获取视图。

我已经将所有内容配置为可以与Electron一起使用,并且在项目根文件夹中运行“ electron”命令可以正常工作。

现在,我正尝试使用本教程进行分发:https://electronjs.org/docs/tutorial/application-distribution

所以我只下载了Windows的4.1.4二进制文件,并将项目文件夹移到了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)

我也尝试从binaries文件夹运行npx electronic / app /,并且遇到了同样的错误。 所以我认为问题出在路径上。

我也尝试过电子包装机,并且错误是相同的,因为此工具执行与上面相同的指导过程。

我该如何解决?

UPDATE1:经过一些调查,我发现babel引起了问题。我猜您从父文件夹运行项目时。我正在寻找解决方案

1 个答案:

答案 0 :(得分:1)

我已经解决了对babel / register使用这种配置的问题:

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

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