Electron13之remote模塊使用


目前最新的 Electron 正式版本是 13.x.x,這次 Electron 本身提供的新能力比較少,但 Node 升級到了 14.16.0,並且 v8 升級到了 9.1。本文主要介紹electron13版本使用remote模塊實現渲染進程讀取主進程變量的方法。

Electron13正式禁用了Remote模塊,使用一個新的包 @electron/remote 來替代。@electron/remote 是Electron內置remote模塊的替代方案,它將JavaScript對象從主進程連接到渲染器進程,方便我們在渲染器進程中訪問主進程的對象。直接按照這個包的說明使用會報錯,正確的使用方式如下:

安裝@electron/remote

項目根目錄,執行如下命令

npm install --save @electron/remote

主進程引入並初始化,然后聲明全局變量

// 初始化
require('@electron/remote/main').initialize()
//全局變量
global.shareObject = {
  isDev: isDev,
  currentVersion: currentVersion,
};

渲染進程獲取數據

// 獲取主進程全局變量
const shareObject = window.require('@electron/remote').getGlobal("shareObject")
const isDev = shareObject.isDev
const currentVersion = shareObject.currentVersion; 
// 獲取主進程窗口
const { BrowserWindow } = window.require('@electron/remote')
//獲取主進程app
const app = window.require('@electron/remote').app
const version = app.getVersion();

注意@electron/remote包有坑,不是非常完善,其中之一就是必須使用window.require引入,不能直接使用require,否則會報錯

其他

其他api可參考@electron/remote


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM