electron应用打包&&asar加密&&electron-forge安装遇到的问题

由于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

今天的分享就到这里,感谢大家,我是猿-阿焱!

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿-阿焱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值