深眸分享--electron-builder打包工具
2022-05-26
该打包工具基于electron应用
// 全局安装
npm install electron-builder -g
// 项目下安装
yarn add electron-builder --dev
// 打包三个系统平台
"builder:dir": "electron-builder --dir -mwl",
"builder": "electron-builder -mwl",
// 打包win系统平台
"builderWin:dir": "electron-builder --dir --win --config=configwin.json",
"builderWin": "electron-builder --win --config=configwin.json",
// 打包Linux系统平台(在Linux系统下打包)
"builderLinux:dir": "electron-builder --dir --linux --config=configlinux.json",
"builderLinux": "electron-builder --linux --config=configlinux.json",
// 打包mac系统平台(在mac系统下打包)
"builderMac:dir": "electron-builder --dir --mac --config=configmac.json",
"builderMac": "electron-builder --mac --config=configmac.json"
为更清晰方便,将不同平台的打包配置都放进各自的json文件(与package.json同目录)中
(1)configwin.json
{
"productName": "productName",
"appId": "com.appid.app",
"copyright": "myapp",
"asar": false, // 是否加密,由于加密后有些资源找不到所以就不加密了
"files": [ // 需要打包的文件
"build/**/*",
"main.js",
"preload.js"
],
"directories": {
"output": "dist/win" // 输出路径
},
"win": {
"icon": "build/public/favicon.ico"
},
"nsis": { // nsis配置,详见electron-builder文档
"allowElevation": true,
"oneClick": false,
"perMachine": true,
"allowToChangeInstallationDirectory": true,
"installerIcon": "./build/public/favicon.ico",
"uninstallerIcon": "./build/public/favicon.ico",
"installerHeaderIcon": "./build/public/favicon.ico",
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "LightWheel"
}
}
(2)configlinux.json
{
"productName": "productName",
"appId": "com.appid.app",
"copyright": "myapp",
"asar": false,
"icon": "build/public/icons/512x512.png",// Linux的图标最好都带像素比,否则可能无法匹配到
"files": [
"build/**/*",
"main.js",
"preload.js"
],
"directories": {
"output": "dist/linux"
},
"linux": {
"icon": "build/public/icons/" // icons下放置各像素比图标加icns图标
}
}
(3)configmac.json
{
"productName": "productName",
"appId": "com.appid.app",
"copyright": "myapp",
"asar": false,
"files": [
"build/**/*",
"main.js",
"preload.js"
],
"directories": {
"output": "dist/mac"
},
"mac": {
"icon": "build/public/icons/icon.icns"
}
}
ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/
ELECTRON_BUILDER_BINARIES_MIRROR=https://npm.taobao.org/mirrors/electron-builder-binaries/
// 预编译包,非安装包
npm run builderWin:dir
// 生成安装包
npm run builderWin