由于Electron 的核心模块中没有捆绑任何用于打包或分发文件的工具,所以这里安装 Electron 应用程序打包与分发的一体化工具electron-forge。
首先,我们将 Electron Forge 的 CLI 工具包安装到项目的 devDependencies
依赖中,然后使用现成的转化脚本将项目导入至 Electron Forge。
npm install --save-dev @electron-forge/cli
npx electron-forge import
注意:在npx electron-forge import过程中会安装特别缓慢甚至报错,由于npx不过cnpm或者淘宝镜像,所以需要我们手动安装,请一定先设置npm config变量:
npm config set ELECTRON_MIRROR "https://npm.taobao.org/mirrors/electron/"
设置完成后,我们手动修改config.json如下:
{
"name": "my-electron-app",
"version": "1.0.0",
"description": "first electron app",
"main": "main.js",
"scripts": {
"start": "electron-forge start",
"test": "echo \"Error: no test specified\" && exit 1",
"package": "electron-forge package",
"make": "electron-forge make",
"e-start": "electron ."
},
"author": "yan",
"license": "MIT",
"devDependencies": {
"@electron-forge/cli": "^7.2.0",
"@electron-forge/maker-deb": "^7.2.0",
"@electron-forge/maker-rpm": "^7.2.0",
"@electron-forge/maker-squirrel": "^7.2.0",
"@electron-forge/maker-zip": "^7.2.0",
"@electron-forge/plugin-auto-unpack-natives": "^7.2.0",
"electron": "^28.0.0"
},
"dependencies": {
"electron-squirrel-startup": "^1.0.0"
},
"config": {
"forge": {
"packagerConfig": {
"asar": true
},
"makers": [{
"name": "@electron-forge/maker-squirrel",
"config": {
"name": "electron_demo"
}
},
{
"name": "@electron-forge/maker-zip",
"platforms": [
"darwin"
]
},
{
"name": "@electron-forge/maker-deb",
"config": {}
},
{
"name": "@electron-forge/maker-rpm",
"config": {}
}
]
}
}
}
然后npm install把依赖装上。
要创建可分发文件,请使用项目中的 make
脚本:
npm run make
运行脚本后,生成一个out文件夹,里面包含如下文件:
在实际过程中,我们需要对生成的包做加密,这里我们在package.json中做了配置:asar:true。
我们需要解密asar包,就需要asar:
首先安装asar:
npm install -g asar
解压asar包:
asar extract [your-file.asar] [output-directory]
如:asar extract app.asar ./app
打包命令为:
asar pack [your-file] app.asar
今天的分享就到这里,感谢大家,我是猿-阿焱!