electron-builder 配置说明

488 阅读4分钟

deb配置说明: 

  1. afterInstall

    • 描述: 安装后执行的脚本路径。
    • 示例: "afterInstall": "path/to/postinst"
  2. afterRemove

    • 描述: 卸载后执行的脚本路径。
    • 示例: "afterRemove": "path/to/postrm"
  3. artifactName

    • 描述: 生成的安装包文件名模板。
    • 示例: "artifactName": "${name}-${version}-${os}-${arch}.deb"
  4. category

    • 描述: 应用程序的类别,用于软件中心分类。
    • 示例: "category": "Utility"
  5. compression

    • 描述: 压缩级别,可以是 store(无压缩)、normal(正常压缩)或 maximum(最大压缩)。
    • 示例: "compression": "maximum"
  6. depends

    • 描述: 依赖的其他包。
    • 示例: "depends": ["libssl1.0.0", "libcurl3"]
  7. description

    • 描述: 应用程序的描述。
    • 示例: "description": "Your application description"
  8. desktop

    • 描述: 用于生成 .desktop 文件的配置。

    • 示例:

      Json深色版本"desktop": {
        "Name": "Your App Name",
        "Comment": "Your application description",
        "Exec": "/opt/your-app/your-app %U",
        "Icon": "/opt/your-app/icon.png",
        "Terminal": false,
        "Type": "Application",
        "Categories": "Utility;TextEditor;",
        "MimeType": "text/plain;",
        "Keywords": "editor;text;",
        "Actions": "NewWindow;OpenFile;BaseMode"
      }
      
  9. executableArgs

    • 描述: 传递给可执行文件的默认参数。
    • 示例: "executableArgs": "--default-arg"
  10. fpm

*   **描述**: 使用 `fpm` 工具的额外配置。
*   **示例**:
    
        Json深色版本"fpm": {
          "deb-compression": "gzip",
          "deb-no-default-config-files": true
        }
    

11. icon

*   **描述**: 应用程序的图标文件路径。
*   **示例**: `"icon": "resources/icon.png"`

12. maintainer

*   **描述**: 软件包的维护者信息。
*   **示例**: `"maintainer": "Your Name <your.email@example.com>"`

13. mimeTypes

*   **描述**: 应用程序支持的 MIME 类型。
*   **示例**:
    
        Json深色版本"mimeTypes": [
          "text/plain"
        ]
    

14. packageCategory

*   **描述**: 生成的安装包的类别。
*   **示例**: `"packageCategory": "Utility"`

15. packageName

*   **描述**: 生成的安装包的名称。
*   **示例**: `"packageName": "your-app"`

16. priority

*   **描述**: 包的优先级,可以是 `optional``standard``important``required` 等。
*   **示例**: `"priority": "optional"`

17. publish

*   **描述**: 发布配置,用于自动发布生成的安装包。
*   **示例**:
    
        Json深色版本"publish": [
          {
            "provider": "github",
            "owner": "yourusername",
            "repo": "yourrepo"
          }
        ]
    

18. synopsis

*   **描述**: 应用程序的简短描述。
*   **示例**: `"synopsis": "A lightweight and fast text editor"`

19. vendor

*   **描述**: 软件包的供应商信息。
*   **示例**: `"vendor": "Your Company"`

Linux 配置说明:

  1. appId

    • 描述: 应用程序的唯一标识符。
    • 示例: "appId": "com.yourcompany.yourapp"
  2. artifactName

    • 描述: 生成的安装包文件名模板。
    • 示例: "artifactName": "${name}-${version}-${os}-${arch}.${ext}"
  3. asar

    • 描述: 是否将应用程序资源打包成 ASAR 归档文件。
    • 示例: "asar": true
  4. asarUnpack

    • 描述: 指定哪些文件或目录不应被打包进 ASAR 归档文件。
    • 示例: "asarUnpack": ["**/node_modules/**"]
  5. category

    • 描述: 应用程序的类别,用于 Linux 包管理器。
    • 示例: "category": "Utility"
  6. compression

    • 描述: 压缩级别,可以是 store(无压缩)、normal(正常压缩)或 maximum(最大压缩)。
    • 示例: "compression": "maximum"
  7. cscKeyPassword

    • 描述: 代码签名证书的密码。
    • 示例: "cscKeyPassword": "your-password"
  8. cscLink

    • 描述: 代码签名证书的链接或路径。
    • 示例: "cscLink": "path/to/certificate.p12"
  9. defaultArch

    • 描述: 默认的目标架构,可以是 x64ia32arm64
    • 示例: "defaultArch": "x64"
  10. description

*   **描述**: 应用程序的描述。
*   **示例**: `"description": "Your application description"`

11. desktop

*   **描述**: 用于生成 `.desktop` 文件的配置,主要适用于 Linux。
*   **示例**:
    
        Json深色版本"desktop": {
          "Name": "Your App Name",
          "Comment": "Your application description",
          "Exec": "/opt/your-app/your-app %U",
          "Icon": "/opt/your-app/icon.png",
          "Terminal": false,
          "Type": "Application",
          "Categories": "Utility;TextEditor;",
          "MimeType": "text/plain;",
          "Keywords": "editor;text;",
          "Actions": "NewWindow;OpenFile;BaseMode"
        }
    

12. detectUpdateChannel

*   **描述**: 检查更新的通道。
*   **示例**: `"detectUpdateChannel": "beta"`

13. electronUpdaterCompatibility

*   **描述**: 与 `electron-updater` 的兼容性设置。
*   **示例**: `"electronUpdaterCompatibility": ">=1.0.0"`

14. executableArgs

*   **描述**: 传递给可执行文件的默认参数。
*   **示例**: `"executableArgs": "--default-arg"`

15. executableName

*   **描述**: 生成的可执行文件的名称。
*   **示例**: `"executableName": "your-app"`

16. extraFiles

*   **描述**: 额外的文件或目录,将被复制到生成的应用程序目录中。
*   **示例**:
    
        Json深色版本"extraFiles": [
          {
            "from": "resources/your-app.bat",
            "to": "resources/your-app.bat"
          }
        ]
    

17. extraResources

*   **描述**: 额外的资源文件或目录,将被复制到生成的应用程序的 `resources` 目录中。
*   **示例**:
    
        Json深色版本"extraResources": [
          "resources/icon.ico"
        ]
    

18. fileAssociations

*   **描述**: 文件关联设置,用于注册应用程序可以打开的文件类型。
*   **示例**:
    
        Json深色版本"fileAssociations": [
          {
            "ext": "txt",
            "name": "Text Document",
            "role": "Editor"
          }
        ]
    

19. files

*   **描述**: 指定要包含在应用程序中的文件和目录。
*   **示例**:
    
        Json深色版本"files": [
          "dist/**/*",
          "!**/*.map"
        ]
    

20. forceCodeSigning

*   **描述**: 是否强制进行代码签名。
*   **示例**: `"forceCode Signing": true`

21. generateUpdatesFilesForAllChannels

*   **描述**: 是否为所有更新通道生成更新文件。
*   **示例**: `"generateUpdatesFilesForAllChannels": true`

22. icon

*   **描述**: 应用程序的图标文件路径。
*   **示例**: `"icon": "resources/icon.ico"`

23. maintainer

*   **描述**: 软件包的维护者信息,主要适用于 Linux。
*   **示例**: `"maintainer": "Your Name <your.email@example.com>"`

24. mimeTypes

*   **描述**: 应用程序支持的 MIME 类型。
*   **示例**:
    
        Json深色版本"mimeTypes": [
          "text/plain"
        ]
    

25. packageCategory

*   **描述**: 生成的安装包的类别,主要适用于 Linux。
*   **示例**: `"packageCategory": "Utility"`

26. protocols

*   **描述**: 注册的应用程序协议。
*   **示例**:
    
        Json深色版本"protocols": [
          {
            "name": "Your App Protocol",
            "schemes": ["yourapp"]
          }
        ]
    

27. publish

*   **描述**: 发布配置,用于自动发布生成的安装包。
*   **示例**:
    
        Json深色版本"publish": [
          {
            "provider": "github",
            "owner": "yourusername",
            "repo": "yourrepo"
          }
        ]
    

28. releaseInfo

*   **描述**: 发布信息,用于生成发布说明。
*   **示例**:
    
        Json深色版本"releaseInfo": {
          "changelog": "path/to/changelog.md"
        }
    

29. synopsis

*   **描述**: 应用程序的简短描述,用于生成的安装包。
*   **示例**: `"synopsis": "A lightweight and fast text editor"`

30. target

*   **描述**: 生成的安装包类型,如 `deb``rpm``nsis` 等。
*   **示例**:
    
        Json深色版本"target": "deb"
    

31. vendor

*   **描述**: 软件包的供应商信息,主要适用于 Linux。
*   **示例**: `"vendor": "Your Company"`