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_OPTIONS
和 NODE_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 workersfile://
协议页面具有授予也运行在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 服务器进程或类似场景)的用例。