侧边栏壁纸
  • 累计撰写 106 篇文章
  • 累计创建 3 个标签
  • 累计收到 19 条评论
标签搜索

目 录CONTENT

文章目录

electron nodeIntegration设置为true渲染进程依旧不能使用node

卑微幻想家
2021-06-09 / 2 评论 / 0 点赞 / 1,774 阅读 / 926 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

问题

在主进程中设置了nodeIntegration: true,但是渲染进程依旧不能使用Node。如图:
image.png
主进程代码main.js

app.on('ready', () => {
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }

  })
  mainWindow.openDevTools() // 开启浏览器控制台
  mainWindow.loadFile('index.html')
  ipcMain.on('message', (event, arg) => {
    console.log(arg)
  })
})

子进程代码renderer.js

const { ipcRenderer } = require('electron')

window.addEventListener('DOMContentLoaded', () => {
    ipcRenderer.send('message','hello from rederer')
})

解决方法

在electron12中,contextIsolation默认开启,若要在渲染进程里调用 require 的话,还需要加上 contextIsolation: falsenodeIntegration: true
github issues: https://github.com/electron/electron/issues/23506

0

评论区