Appearance
electron-builder
一个用于构建和打包 Electron 应用程序的完整解决方案
安装
bash
pnpm add -D electron-builder基础配置
在 package.json 中配置:
json
{
"build": {
"appId": "com.example.app",
"productName": "MyApp",
"directories": {
"output": "dist"
},
"win": {
"target": ["nsis"],
"icon": "build/icon.ico"
},
"mac": {
"target": ["dmg"],
"icon": "build/icon.icns"
},
"linux": {
"target": ["AppImage"],
"icon": "build/icon.png"
}
},
"scripts": {
"build": "electron-builder",
"build:win": "electron-builder --win",
"build:mac": "electron-builder --mac",
"build:linux": "electron-builder --linux"
}
}使用示例
基本打包
bash
# 打包当前平台
pnpm run build
# 打包指定平台
pnpm run build:win
pnpm run build:mac
pnpm run build:linux自动更新配置
json
{
"build": {
"publish": [
{
"provider": "github",
"owner": "your-username",
"repo": "your-repo"
}
]
}
}高级配置
json
{
"build": {
"appId": "com.example.app",
"productName": "MyApp",
"copyright": "Copyright © 2023",
"asar": true,
"compression": "maximum",
"files": ["dist/**/*", "package.json"],
"directories": {
"output": "release/${version}",
"buildResources": "build"
},
"win": {
"target": [
{
"target": "nsis",
"arch": ["x64", "ia32"]
}
],
"icon": "build/icon.ico",
"artifactName": "${productName}-Setup-${version}.${ext}",
"publisherName": "Your Company Name"
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "${productName}"
},
"mac": {
"category": "public.app-category.developer-tools",
"target": ["dmg", "zip"],
"icon": "build/icon.icns",
"hardenedRuntime": true,
"gatekeeperAssess": false
},
"linux": {
"target": ["AppImage", "deb", "rpm"],
"icon": "build/icons",
"category": "Development"
}
}
}