跳到内容

Snap

顶层 snap 键包含一组选项,用于指示 electron-builder 如何构建 Snap

配置

Electron-Builder / app-builder-lib / SnapOptions

继承

属性

after?

readonly optional after: null | string[]

指定任何应在此部分之前构建的 parts。默认为 ["desktop-gtk2""]

如果列表包含 default,它将被替换为默认列表,因此,可以使用 ["default", "foo"] 来添加自定义部分 foo 以及默认部分。


allowNativeWayland?

readonly optional allowNativeWayland: null | boolean

允许使用原生 wayland 支持运行程序,使用 –ozone-platform=wayland。默认禁用,因为在旧版本 Electron/Snap 中存在此问题:https://github.com/electron-userland/electron-builder/issues/4007


appPartStage?

readonly optional appPartStage: null | string[]

指定要暂存应用程序部分的哪些文件以及要排除哪些文件。接受单个文件、目录、通配符、globstars 和排除项。请参阅 Snapcraft filesets 以了解有关格式的更多信息。

默认值可以在 snap.ts 中找到。


artifactName?

readonly optional artifactName: null | string

artifact 文件名模板

继承自

TargetSpecificOptions.artifactName


assumes?

readonly optional assumes: null | string | string[]

核心必须支持的功能列表,以便安装此 snap。


autoStart?

readonly optional autoStart: boolean

snap 是否应在登录时自动启动。

默认
false

base?

readonly optional base: null | string

类型为 base 的 snap,用作此 snap 的执行环境。示例:corecore18core20core22。默认为 core20


buildPackages?

readonly optional buildPackages: null | string[]

构建此 snap 需要安装的 debian 软件包列表。


category?

readonly optional category: null | string

应用程序类别

继承自

CommonLinuxOptions.category


compression?

readonly optional compression: null | "xz" | "lzo"

设置 snap 的压缩类型。可以是 xz、lzo 或 null。


confinement?

readonly optional confinement: null | "devmode" | "strict" | "classic"

snap 支持的 confinement 类型。

默认
strict

description?

readonly optional description: null | string

与应用程序 package.json 中的 description 相同,但允许您为 Linux 指定不同的描述。

继承自

CommonLinuxOptions.description


desktop?

readonly optional desktop: null | LinuxDesktopFile

桌面文件

继承自

CommonLinuxOptions.desktop


environment?

readonly optional environment: null | object

自定义环境。默认为 {"TMPDIR: "$XDG_RUNTIME_DIR"}。如果您设置自定义环境,它将与默认环境合并。


executableArgs?

readonly optional executableArgs: null | string[]

可执行文件参数。传递给 executableName

继承自

CommonLinuxOptions.executableArgs


grade?

readonly optional grade: null | "devel" | "stable"

snap 的质量等级。它可以是 devel(即 snap 的开发版本,因此不发布到“stable”或“candidate”频道)或“stable”(即稳定版本或候选版本,可以发布到所有频道)。

默认
stable

hooks?

readonly optional hooks: null | string

hooks 目录,相对于 build(构建资源目录)。

默认
build/snap-hooks

layout?

readonly optional layout: null | object

指定要从 /usr/var/etc 等位置访问的任何文件。请参阅 snap layouts 以了解更多信息。


mimeTypes?

readonly optional mimeTypes: null | string[]

除了文件关联中指定的 mime 类型之外的 mime 类型。如果您不想注册新的 mime 类型,而是想重用现有的 mime 类型,请使用它。

继承自

CommonLinuxOptions.mimeTypes


plugs?

readonly optional plugs: null | PlugDescriptor | (string | PlugDescriptor)[]

plugs 列表。默认为 ["desktop", "desktop-legacy", "home", "x11", "wayland", "unity7", "browser-support", "network", "gsettings", "audio-playback", "pulseaudio", "opengl"]

如果列表包含 default,它将被替换为默认列表,因此,可以使用 ["default", "foo"] 来添加自定义 plug foo 以及默认 plug。

可以使用对象而不是 plug 的名称来指定其他属性

[
 {
   "browser-sandbox": {
     "interface": "browser-support",
     "allow-sandbox": true
   },
 },
 "another-simple-plug-name"
]


publish?

optional publish: Publish

继承自

TargetSpecificOptions.publish


slots?

readonly optional slots: null | PlugDescriptor | (string | SlotDescriptor)[]

slots 列表。

可以使用对象而不是 slot 的名称来指定其他属性: ``` [ { “mpris”: { “name”: “chromium” }, } ]

如果您希望您的应用程序成为兼容的 MPris 播放器,您需要定义名称为“chromium”的 mpris slot。此 electron 具有 硬编码,我们需要传递此名称,以便 snap 在严格限制下允许它


stagePackages?

readonly optional stagePackages: null | string[]

用于支持 app 部分创建所需的 Ubuntu 软件包列表。类似于 debdepends。默认为 ["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"]

如果列表包含 default,它将被替换为默认列表,因此,可以使用 ["default", "foo"] 来添加自定义软件包 foo 以及默认软件包。


summary?

readonly optional summary: null | string

78 个字符长的摘要。默认为 productName


synopsis?

readonly optional synopsis: null | string

简短描述

继承自

CommonLinuxOptions.synopsis


title?

readonly optional title: null | string

snap 的可选标题,可以包含大写字母和空格。默认为 productName。请参阅 snap 格式文档


useTemplateApp?

readonly optional useTemplateApp: boolean

是否使用模板 snap。如果未指定 stagePackages,则默认为 true