微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Vue CLI 插件 Electron Builder 构建电子应用程序初始化前无法访问“fa”-TypeORM 关联 ManyToOne

如何解决使用 Vue CLI 插件 Electron Builder 构建电子应用程序初始化前无法访问“fa”-TypeORM 关联 ManyToOne

我有一个电子应用程序项目,它在开发模式下与 webpack 开发服务器和 vue-cli-service 完美运行。

现在我想打包我的应用程序以进行生产分发。

为此,我使用 Vue CLI 插件 Electron Builder 库并启动此命令:

  "electron:build": "vue-cli-service electron:build"

一切似乎都很好。没有错误或中断过程。但是当我启动我的新应用程序安装时,我在启动时出现了这样的错误

     A JavaScript error occurred in the main process

    Uncaught Exception:
    ReferenceError: Cannot access 'fa' before initialization
    at Module.<anonymous> (/Applications/electrony.app/Contents/Resources/app.asar/background.js:2:1550520)
    at n (/Applications/electrony.app/Contents/Resources/app.asar/background.js:2:110)
    at Object.<anonymous> (/Applications/electrony.app/Contents/Resources/app.asar/background.js:2:110880)
    at n (/Applications/electrony.app/Contents/Resources/app.asar/background.js:2:110)
    at /Applications/electrony.app/Contents/Resources/app.asar/background.js:2:902
    at Object.<anonymous> (/Applications/electrony.app/Contents/Resources/app.asar/background.js:2:913)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1004:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Module._load (internal/modules/cjs/loader.js:727:14)

如果检查 background.js 文件,我可以查看:

S([Object(z.ManyToOne)(()=>fa,a=>a.association,{nullable:!0,cascade:["insert","update"],eager:!0}),x("design:type","function"==typeof(b=void 0!==fa&&fa)?b:Object)]

似乎是处理 TypeORM 实体关联的 ManyToOne 声明。但我不明白这个上下文中的“fa”是什么,因为该实体文件中不存在任何“fa”库或对象的声明。

您是否已经使用 TypeORM 库打包了电子应用程序?

解决方法

我通过更改 tsconfig.json 文件解决了我的问题

从此:

  "lib": ["es5","es6","dom"],"module": "esnext","target": "es6","moduleResolution": "node","noImplicitAny": true,"removeComments": true,"preserveConstEnums": true,"sourceMap": true,"experimentalDecorators": true,"emitDecoratorMetadata": true,"esModuleInterop": true,

到这个:

  "lib": ["es5","module": "commonjs","target": "esnext","types": ["node","jest"]
  "moduleResolution": "node",

现在生成的文件实体没有循环声明问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?