- 更新:2021-03-18 09:52:18
- 首发:2021-03-18 09:44:46
- 教程
- 8271
在 Electron 12 及更高版本,设置了nodeIntegration: true及nodeIntegrationInWorker: true、nodeIntegrationInSubframes: true,渲染进程仍然可能出现require is not defined的报错。
这个报错还跟随有module is not defined或exports is not defined。
同样的报错在Electron 5+曾出现过,原因是发布v5.0.0的时候,官方将nodeIntegration默认值设置为了false(与此同时还将webviewTag设置为了false)。
近期,Electron 12.0.0 发布。修复了诸多异常。同时也将contextIsolation的默认值更改为true(详见:https://github.com/electron/electron/pull/27949)。
官方特地将此默认值修改作为重大更改。特地提示如下:
在Electron 12中,contextIsolation默认情况下将启用。若要还原以前的行为,contextIsolation: false必须在WebPreferences中指定。
我们建议启用contextIsolation以确保应用程序的安全。
另一个含义是,除非nodeIntegration值为true并且contextIsolation值为false,否则不能在渲染器过程中使用 require()。
有关更多详细信息,请参见:github.com/electron/electron/issues/23506
webPreferences API设置参考:https://www.electronjs.org/docs/api/browser-window
contextIsolation设置的意思是是否开启上下文隔离,意味着是否在独立 JavaScript 环境中运行 Electron API和指定的preload 脚本。关于因此导致的上下文隔离问题,参考:https://www.electronjs.org/docs/tutorial/context-isolation
也就是说,同时设置nodeIntegration: true及contextIsolation: false解决该问题!

找了好久,终于找到了新的解决办法。太感谢了

❤️




老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢