node.js - Electron :TypeError:无法在符号 'default'上创建属性 'Symbol(nodejs.util.inspect.custom)'

标签 node.js electron graphql packager

我使用以下技术堆栈开发了一个 Electron 应用程序:

带有Babel的

  • NodeJS(10.15),允许ES6导入/导出语法。
  • 在SQLite和GraphQL上进行序列化以处理内部数据库。
  • ReactJS( bundle )以获取 View 。

  • 我已经将所有内容配置为可以与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)
    

    我也尝试从二进制文件文件夹中运行npx electronic resources/app/,但遇到了同样的错误。
    所以我认为问题出在路径上。

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

    我该如何解决?

    UPDATE1:经过一些调查,我发现babel导致了问题。我想您是从父文件夹运行项目的。我正在寻找解决方案

    最佳答案

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

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

    关于node.js - Electron :TypeError:无法在符号 'default'上创建属性 'Symbol(nodejs.util.inspect.custom)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55666016/

    相关文章:

    node.js - 使用带有 s3 的 Electron 更新程序的 Electron 应用程序导致访问被拒绝错误

    javascript - Mac OS 上的 Electron 托盘应用程序位置

    node.js - 创建搜索页面

    node.js - 在 Electron 应用程序中将自定义模块导入 renderer.js

    javascript - 符号是如何工作的?

    node.js - 我无法用 npm 更新 electron

    nested - graphql - 在突变中使用查询 - 创建嵌套对象

    ubuntu - 使用 docker 将 prisma 项目部署到本地

    c# - 使用 HttpClient 或 WebRequest 时,HttpListenerRequest 读取 InputStream 速度较慢

    node.js - 穆特,node.js : memory isn't purged after image upload and process