跳到内容

app builder lib.Interface.FuseOptionsV1

Electron-Builder / app-builder-lib / FuseOptionsV1

所有选项均来自 @electron/fuses 参考: https://raw.githubusercontent.com/electron/electron/refs/heads/main/docs/tutorial/fuses.md

属性

enableCookieEncryption?

可选 enableCookieEncryption: 布尔值

cookieEncryption fuse 切换是否使用操作系统级别的加密密钥对磁盘上的 cookie 存储进行加密。默认情况下,Chromium 用于存储 cookie 的 sqlite 数据库以明文形式存储值。如果您希望确保您的应用程序 cookie 的加密方式与 Chrome 相同,则应启用此 fuse。请注意,这是一个单向转换,如果您启用此 fuse,则现有的未加密 cookie 将在写入时加密,但如果您再次禁用该 fuse,则您的 cookie 存储将实际上损坏且无用。大多数应用程序可以安全地启用此 fuse。


enableEmbeddedAsarIntegrityValidation?

可选 enableEmbeddedAsarIntegrityValidation: 布尔值

embeddedAsarIntegrityValidation fuse 切换 macOS 上的一个实验性功能,该功能在加载时验证 app.asar 文件的内容。此功能旨在最大限度地减少性能影响,但可能会稍微减慢从 app.asar 存档内部读取文件的速度。目前,ASAR 完整性检查在以下平台上受支持:

  • macOS,electron>=16.0.0 起
  • Windows,electron>=30.0.0 起

有关如何使用 asar 完整性验证的更多信息,请阅读 Asar 完整性 文档。


enableNodeCliInspectArguments?

可选 enableNodeCliInspectArguments: 布尔值

nodeCliInspect fuse 切换是否尊重 --inspect--inspect-brk 等标志。禁用后,它还确保 SIGUSR1 信号不会初始化主进程检查器。大多数应用程序可以安全地禁用此 fuse。


enableNodeOptionsEnvironmentVariable?

可选 enableNodeOptionsEnvironmentVariable: 布尔值

nodeOptions fuse 切换是否尊重 NODE_OPTIONSNODE_EXTRA_CA_CERTS 环境变量。NODE_OPTIONS 环境变量可用于将各种自定义选项传递给 Node.js 运行时,并且通常不用于生产环境中的应用程序。大多数应用程序可以安全地禁用此 fuse。


grantFileProtocolExtraPrivileges?

可选 grantFileProtocolExtraPrivileges: 布尔值

grantFileProtocolExtraPrivileges fuse 更改了从 file:// 协议加载的页面是否被赋予超出传统 Web 浏览器中获得的权限。此行为是 Electron 应用程序在 Electron 原始版本中的核心,但现在不再需要,因为应用程序现在应该 从自定义协议提供本地文件。如果您没有从 file:// 提供页面,则应禁用此 fuse。此 fuse 授予 file:// 协议的额外权限在下面未完全记录

  • file:// 协议页面可以使用 fetch 通过 file:// 加载其他资源
  • file:// 协议页面可以使用 service workers
  • file:// 协议页面具有授予也运行在 file:// 协议上的子框架的通用访问权限,无论沙盒设置如何

loadBrowserProcessSpecificV8Snapshot?

可选 loadBrowserProcessSpecificV8Snapshot: 布尔值

loadBrowserProcessSpecificV8Snapshot fuse 更改用于浏览器进程的 V8 快照文件。默认情况下,Electron 的进程都将使用相同的 V8 快照文件。启用此 fuse 后,浏览器进程将使用名为 browser_v8_context_snapshot.bin 的文件作为其 V8 快照。其他进程将使用他们通常使用的 V8 快照文件。


onlyLoadAppFromAsar?

可选 onlyLoadAppFromAsar: 布尔值

onlyLoadAppFromAsar fuse 更改 Electron 用于定位您的应用程序代码的搜索系统。默认情况下,Electron 将按以下顺序搜索 app.asar -> app -> default_app.asar。启用此 fuse 后,搜索顺序将变为单个条目 app.asar,从而确保与 embeddedAsarIntegrityValidation fuse 结合使用时,无法加载未经验证的代码。


resetAdHocDarwinSignature?

可选 resetAdHocDarwinSignature: 布尔值

重置应用程序签名,专门用于 macOS。注意:由于 electron-builder 在翻转 fuse 后直接对应用程序进行签名,因此这应该是多余的。参考:https://github.com/electron/fuses?tab=readme-ov-file#apple-silicon


runAsNode?

可选 runAsNode: 布尔值

runAsNode fuse 切换是否尊重 ELECTRON_RUN_AS_NODE 环境变量。请注意,如果禁用此 fuse,则主进程中的 process.fork 将无法按预期工作,因为它依赖于此环境变量才能运行。相反,我们建议您使用 Utility Processes,它适用于许多需要独立 Node.js 进程(如 Sqlite 服务器进程或类似场景)的用例。