Quiet
  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我

bajiu

  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我
Quiet主题
  • 疑难杂症
  • Electron

Electron 12+ 出现 require is not defined 报错解决

bajiu
前端

2021-03-02 11:50:27

近期,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

上一篇

yum 安装 nginx 及其配置

下一篇

XHR/Fetch 基础

©2024 By bajiu.