Electron项目中的NSIS配置项

本文主要介绍了Electron项目中使用NSIS进行打包时的一些常见配置项,帮助开发者更好地理解和配置其项目打包过程。
常用配置项
nsis: {
	"oneClick": false, // 创建一键安装程序还是辅助安装程序(默认是一键安装)
    "allowElevation": true, // 是否允许请求提升,如果为false,则用户必须使用提升的权限重新启动安装程序 (仅作用于辅助安装程序)
    "allowToChangeInstallationDirectory": true, // 是否允许修改安装目录 (仅作用于辅助安装程序)
    "installerIcon": "public/timg.ico",// 安装程序图标的路径
    "uninstallerIcon": "public/timg.ico",// 卸载程序图标的路径
    "installerHeader": "public/timg.ico", // 安装时头部图片路径(仅作用于辅助安装程序)
    "installerHeaderIcon": "public/timg.ico", // 安装时标题图标(进度条上方)的路径(仅作用于一键安装程序)
    "installerSidebar": "public/installerSiddebar.bmp", // 安装完毕界面图片的路径,图片后缀.bmp,尺寸164*314 (仅作用于辅助安装程序)
    "uninstallerSidebar": "public/uninstallerSiddebar.bmp", // 开始卸载界面图片的路径,图片后缀.bmp,尺寸164*314 (仅作用于辅助安装程序)
    "uninstallDisplayName": "${productName}${version}", // 控制面板中的卸载程序显示名称
    "createDesktopShortcut": true, // 是否创建桌面快捷方式
    "createStartMenuShortcut": true,// 是否创建开始菜单快捷方式
    "shortcutName": "SHom", // 用于快捷方式的名称,默认为应用程序名称
    "include": "script/installer.nsi",  // NSIS包含定制安装程序脚本的路径,安装过程中自行调用  (可用于写入注册表 开机自启动等操作)
    "script": "script/installer.nsi",  // 用于自定义安装程序的NSIS脚本的路径
    "deleteAppDataOnUninstall": false, // 是否在卸载时删除应用程序数据(仅作用于一键安装程序)
    "runAfterFinish": true,  // 完成后是否运行已安装的应用程序(对于辅助安装程序,应删除相应的复选框)
    "menuCategory": false, // 是否为开始菜单快捷方式和程序文件目录创建子菜单,如果为true,则使用公司名称
}

更多配置请移步官方

Electron Builder 是一个用于打包和构建 Electron 应用程序的流行工具,它支持多平台构建(Windows、macOS、Linux),并提供丰富的配置选项以满足不同项目的需求。以下是 `electron-builder` 的一些主要配置选项及其用途的详解: ### 基本配置结构 `electron-builder` 的配置通常放在 `package.json` 文件的 `build` 字段中,也可以通过单独的配置文件(如 `builder.config.js`)进行更复杂的配置。 ```json { "build": { "appId": "com.example.myapp", "productName": "MyApp", "directories": { "buildResources": "assets", "output": "dist" }, "files": [ "dist/**/*", "node_modules/**/*", "main.js", "package.json" ], "asar": true, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true }, "mac": { "target": "mas", "type": "distribution" }, "linux": { "target": ["AppImage", "snap"] }, "win": { "target": ["nsis", "portable"] } } } ``` ### 核心配置项详解 #### `appId` - **作用**:指定应用程序的唯一标识符,用于在系统中唯一标识该应用。 - **示例**:`"appId": "com.example.myapp"`[^1] #### `productName` - **作用**:定义构建后的应用程序名称。 - **示例**:`"productName": "MyApp"`[^1] #### `directories` - **作用**:指定构建过程中使用的目录路径。 - `buildResources`:存放构建所需的资源文件,如图标、配置文件等。 - `output`:指定构建输出的目录。 - **示例**: ```json "directories": { "buildResources": "assets", "output": "dist" } ```[^1] #### `files` - **作用**:指定需要包含在最终构建包中的文件或目录。可以使用通配符来匹配多个文件。 - **示例**: ```json "files": [ "dist/**/*", "node_modules/**/*", "main.js", "package.json" ] ```[^1] #### `asar` - **作用**:控制是否将应用程序的源代码打包为 `.asar` 文件。启用后可以提高安全性并减少文件数量。 - **示例**:`"asar": true`[^1] #### `nsis` - **作用**:配置 Windows 平台下的 NSIS 安装程序选项。 - `oneClick`:是否启用一键安装模式。 - `allowToChangeInstallationDirectory`:是否允许用户更改安装目录。 - **示例**: ```json "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true } ```[^1] #### `mac` - **作用**:配置 macOS 平台的构建选项。 - `target`:指定构建的目标类型,常见值有 `mas`(Mac App Store)、`dmg`、`mac`(通用 macOS 构建)等。 - `type`:指定构建的类型,如 `distribution` 表示发布版本。 - **示例**: ```json "mac": { "target": "mas", "type": "distribution" } ```[^1] #### `linux` - **作用**:配置 Linux 平台的构建选项。 - `target`:指定构建的目标格式,如 `AppImage`、`snap`、`deb` 等。 - **示例**: ```json "linux": { "target": ["AppImage", "snap"] } ```[^1] #### `win` - **作用**:配置 Windows 平台的构建选项。 - `target`:指定构建的目标格式,如 `nsis`、`portable`、`msi` 等。 - **示例**: ```json "win": { "target": ["nsis", "portable"] } ```[^1] ### 高级配置选项 除了上述基本配置外,`electron-builder` 还支持许多高级配置选项,例如: - **`publish`**:配置自动更新服务器的信息,支持 GitHub、S3、FTP 等多种发布方式。 - **`extraResources`**:指定额外的资源文件,这些文件会被复制到应用程序的 `resources` 目录中。 - **`extraFiles`**:指定额外的文件,这些文件会被直接复制到构建输出目录中。 - **`compression`**:控制 ASAR 文件的压缩级别,可选值为 `store`(不压缩)、`normal`(默认)、`maximum`(最大压缩)。 - **`target`**:全局指定构建的目标平台和架构,例如 `"target": ["win32", "win64"]`。 ### 示例:自动更新配置 ```json { "build": { "publish": [ { "provider": "github", "owner": "your-username", "repo": "your-repo" } ] } } ``` ### 示例:指定额外资源 ```json { "build": { "extraResources": [ { "from": "resources/", "to": "resources/" } ] } } ``` ### 示例:控制 ASAR 压缩级别 ```json { "build": { "asar": true, "compression": "maximum" } } ``` ### 总结 `electron-builder` 提供了非常灵活和强大的配置选项,能够满足大多数 Electron 应用的构建需求。通过合理配置 `build` 字段中的各项参数,开发者可以轻松实现跨平台构建、自动更新、自定义安装流程等功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值