electron渲染进程调用主进程的方法

---

最近在做一个功能,在渲染进程用到了一个node插件adm-zip,开发环境好好的,打包后报错找不到adm-zip这个包,查了很多资料,没有结果;

初步推测是因为这个插件不是node核心库,不能在渲染进程使用;想着把它放在主进程,然后在渲染进程调用;网上搜了一下,还真有这种用法,记录一下;

主进程:

foo.js

const compress = () => {
  console.log('主进程的方法')  
}

module.exports = {
   compress
}

将这个方法挂载在app上:

import { app } from 'electron'
const { compress } = require('./foo')

app.compress = compress;

在渲染进程调用:

const compress = window.require('electron').remote.app.compress;
compress();

 

---

posted @ 2022-01-19 20:58  古墩古墩  Views(563)  Comments(0Edit  收藏  举报