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();
---