首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用asar的@mikro-orm迁移脚本的电子

启用asar的@mikro-orm迁移脚本的电子
EN

Stack Overflow用户
提问于 2022-02-24 14:25:40
回答 1查看 149关注 0票数 0

我在我的电子应用程序中使用了same,我创建了迁移文件并希望在生产模式下运行数据库迁移,同时,我也希望在电子中启用asar封装,以提高应用程序的发布速度。

如果我不启用asar打包,文件夹结构如下所示,并且一切正常:

代码语言:javascript
复制
app/node_modules/@mikro-orm
app/node_modules/...
app/migrations/Migration20220224172334.js

当启用了asar打包时,文件夹结构变成:

代码语言:javascript
复制
app.asar // this is a package with all node modules
app.asar.unpacked/migrations/Migration20220224172334.js

因此,在加载Cannot find module '@mikro-orm/migrations'时,我得到了类似于Migration20220224172334.js的错误,下面是迁移脚本的内容:

代码语言:javascript
复制
const { Migration } = require('@mikro-orm/migrations');

class Migration20220224172334 extends Migration {
...

我认为这个问题要么是电子开发者,要么是Mikro ORM开发者。

  1. 是否有一种从外部JS文件以编程方式在asar包中加载节点模块的方法?

  1. 是否可以将迁移脚本捆绑到asar中,同时让Mikro在asar包中搜索它们?
EN

回答 1

Stack Overflow用户

发布于 2022-02-24 17:00:54

我们可以修补require路径,使其在开发和生产模式中都能工作。

代码语言:javascript
复制
require(
  (
    __dirname.includes('asar.unpacked') 
    ? '../../../../app.asar/node_modules/' 
    : ''
  ) + '@mikro-orm/migrations'
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71253470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档