打包
在package.json
中,dependencies
会被打进 Electron 应用的包里,而devDependencies
则不会,所以必要的依赖需要放到dependencies
中。files
中定义自己需要被打进 Electron 包里的文件。以下是一个完整的 mac electron-builder
的配置文件。
const base = {
appId: 'com.xxxx.xxxx',
productName: 'Electron 打包模版', // 应用名称,安装后的应用就是名称
icon: './media/images/icon.ico',
files: [ // 除了package.json中dependencies外,另外需要打包的文件添加到此处
'main.js',
'bundles',
'updater/win/index.html',
'updater/build/bootstrap.js',
'updater/mac/Updater.js',
'updater/mac/index.html'
],
publish: { // 需要结合 const { autoUpdater } = require('electron-updater'); 使用
provider: 'generic', // 指定服务器类型,generic 通用服务器,也可以是 github 等
url: '' // 线上服务器地址
},
mac: {
target: [ // 需要打包出的类型
"dmg",
"zip",
"pkg",
"mas"
],
icon: 'media/images/icon.icns',
hardenedRuntime: true,
entitlements: 'electron-builder/entitlements.plist', // 申请可以操作系统权利
entitlementsInherit: 'electron-builder/entitlements.plist',
provisioningProfile: 'electron-builder/comalibabaslobs.provisionprofile'
},
pkg: {
isRelocatable: false,
overwriteAction: "upgrade",
},
mas: {
icon: 'media/images/icon.icns',
hardenedRuntime: true,
entitlements: 'electron-builder/entitlements.mas.plist',
entitlementsInherit: 'electron-builder/entitlements.mas.plist',
},
dmg: {
background: 'media/images/d