我在我的Electron应用程序中使用@mikro-orm/migrations,我创建了迁移文件并希望在生产模式下运行数据库迁移,同时我还想在 Electron 中启用 asar 打包以提高应用程序启动速度.
如果我不启用 asar 打包,文件夹结构如下,一切正常:
app/node_modules/@mikro-orm
app/node_modules/...
app/migrations/Migration20220224172334.js
启用 asar 打包后,文件夹结构变为:
app.asar // this is a package with all node modules
app.asar.unpacked/migrations/Migration20220224172334.js
结果,我收到了类似Cannot find module '@mikro-orm/migrations'
while load的错误Migration20220224172334.js
,这是迁移脚本的内容:
const { Migration } = require('@mikro-orm/migrations');
class Migration20220224172334 extends Migration {
...
我认为这个问题是针对 Electron 开发人员或 Mikro ORM 开发人员的。
有没有办法从外部 JS 文件以编程方式加载 asar 包内的节点模块?
是否可以将迁移脚本捆绑到 asar 中,同时让 Mikro ORM 在 asar 包中搜索它们?