报错场景,在jsx文件中使用

const { ipcRenderer: ipc } = require("electron");

解决:

渲染进程—jsx文件:

const { ipcRenderer: ipc } = window.require("electron");

使用window.require代替require

主进程—main.js:

mainWindow = new BrowserWindow({
        width: 1000,
        height: 750,
        webPreferences: {
            // 是否启用Node integration
            nodeIntegration: true, // Electron 5.0.0 版本之后它将被默认false
            // 是否在独立 JavaScript 环境中运行 Electron API和指定的preload 脚本.默认为 true
            contextIsolation: false,  // Electron 12 版本之后它将被默认true 
        },
        // frame: false,  // 清空客户端窗口顶部菜单
    });

这时浏览器打开的页面会显示window.require is not a function

不要紧!!!!

 main.js中默认打开窗口调试,在electron打开的窗口中进行调试即可 而非浏览器

mainWindow.webContents.openDevTools() // 打开窗口调试

 打开窗口已经可以了  并且可以进行渲染进程和主进程的通信 

 

初学electron  如果有错误还请指出

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐