gpt4 book ai didi

JavaScript - 为什么 require 函数可以用在 ElectronJs 的浏览器脚本标签中?

转载 作者:行者123 更新时间:2023-11-30 06:50:39 24 4
gpt4 key购买 nike

所以在 electron-quick-start 演示中,HTML 文件 “index” 中有一个 require 函数需要 Electrons 渲染过程。

我知道 NodeJs 为 electron 提供动力(并且 require 是一个 Node 函数),但是当我尝试使用简单的 Chrome 运行一个 HTML 文件时,它没有工作(这是预期的,但我想也许你可以仅在后端使用 require。

是因为当你用 "electron . " 运行 electron 时,它会以不同的方式解释 HTML 文件,就像 React 如何使用 JSX 或 ruby​​ 和 HTML.erb 一样?

最佳答案

根据设计,渲染器和主要 Electron 进程都可以访问 require 函数。

这种所谓的 Node 集成有时会中断 jQuery 和其他前端库的正常运行,可以在 browserWindow 设置期间通过 nodeIntegration 属性将其禁用:

// In the main process.
const {BrowserWindow} = require('electron')
let win = new BrowserWindow({
webPreferences: {
nodeIntegration: false
}
})
win.show()

请注意:这也会禁用进程间通信 (IPC) 库,您将无法再在主渲染器进程和您各自的渲染器进程之间交换消息 (there's a workaround)。

安全说明:NodeIntegration/require() 仅在您从 Electron 中引用本地 HTML 文件时才有效。有关与 nodeIntegration 相关的安全问题的更多信息 can be found here .

关于JavaScript - 为什么 require 函数可以用在 ElectronJs 的浏览器脚本标签中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51511549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com