如何解决使用 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 举报,一经查实,本站将立刻删除。