導入electron.remote后,remote為undefined


學習Electron時,在渲染進程中通過remote打開開發這工具,發現點擊按鈕沒有反應。

const remote = require('electron').remote;
let openDevToolsBtn = document.querySelector("#openDevToolsBtn");
openDevToolsBtn.addEventListener('click', function() {
	alert(remote);
	remote.getCurrentWindow().webContents.openDevTools();
});

打印remote對象時,發現是 undefined

  • 問題原因

在網上搜了一下,發現是electron 10下,remote默認關閉,需要手動開啟。

  • 解決方案

找到項目中的BrowserWindow 定義部分,手動設置webPreferences中的enableRemoteModuletrue即可,添加部分如下:

win = new BrowserWindow({
	webPreferences: {
		nodeIntegration: true,  // 賦予此窗口頁面中的JavaScript訪問Node.js環境的能力
		// 在electron 10.0.0之后,remote模塊默認關閉
		// 必須手動設置webPreferences中的enableRemoteModule為true之后才能使用
		enableRemoteModule: true,   // 打開remote模塊
	}
});
  • 參考資料
  1. 升級到electron10以后的版本remote失效-CSDN


免責聲明!

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



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