Electron笔记六:打包成可执行程序(.exe)

本人初学Electron,把学习的过程记录了下来,以免以后忘记
Electron笔记一:安装
Electron笔记二:http与websock的实现
Electron笔记三:调用外部程序(子进程管理)
Electron笔记四:Dll的调用
Electron笔记五:无需控件,HTML5直接播放rtsp(摄像头)
Electron笔记六:打包成可执行程序(.exe)

1. 安装electron-packager

   npm install electron-packager  --save-dev

2.打包命令

基本命令
   electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]

命令说明
   sourcedir:项目源文件所在路径(唯一的必须参数)
   appname:项目名称(直接使用package.json文件中的name属性更方便)
   platform:要构建哪个平台的应用(Windows、Mac 还是 Linux)
   arch:决定了使用 x86 (ia32)还是 x64(x64),还是两个架构都用
   optional options:可选选项

举例说明: 
   electron-packager ./ demoapp --win --arch=x64 --out ../outputs 

本项目实际应用:如果每次打包都输入就太麻烦了,可以简化命令,做一个快捷方式,在package.json中,多加一个"build"项

"scripts": {
    "start": "chcp 65001 && electron main.js",
    "build": "electron-packager ./ demoapp --win --arch=x64 --out ../outputs --electron-zip-dir=../electron-zip --icon=logo.ico --overwrite --extra-resource=./resources/bin/"
  },

以后只需要在cmd中直接输入npm run build即可打包了。

其中
    --icon是图标,我们放一个logo.ico在根目录中
    --overwrite :如果已打过包,就覆盖
    --electron-zip-dir  :为防止每次打包都下载Electron,可先把下载好包 electron-v13.1.7-win32-x64.zip放到\electron-zip中,electron离线下载包
    --extra-resource : ./resources/bin/ 额外的资源包,打包后文件的文件都会在\outputs\demoapp-win32-x64\resources\app中,exe文件在根目录中,则直接运行就找不到csdtk.dll文件和ffmpeg.exe,这时只需要把resources\app\resources\bin拷贝到resources\bin中,需加入"win": 
"extraResources": [  {    "from": "./resources/bin",   "to": "./bin"  }
就可实现此功能。

代码如下:

  "devDependencies": {
    "electron": "^13.1.7",
    "electron-packager": "^15.3.0"
  },
  "dependencies": {
    "child_process": "^1.0.2",
    "ffi-napi": "^4.0.3",
    "fluent-ffmpeg": "^2.1.2",
    "http-server": "^0.12.3",
    "iconv-lite": "^0.6.3",
    "ref-array-di": "^1.2.2",
    "ws": "^7.5.3"
  },
  "build": {
    "appId": "demoapp",
    "win": "./logo.ico",
    "extraResources": [
      {
        "from": "./resources/bin",
        "to": "./bin"
      }
    ]
  }

运行 npm run build 之后exe文件生成了

3.加密资源,打包代

可以看到,在每个包下的resources文件夹里的app文件夹 就是我们写的程序,这样我们的代码就是暴露在用户电脑上的,这非常的不安全,还好electron 自带了加密功能。
    安装 asar:   npm install -g asar
安装完成以后,就可以使用asar命令讲程序文件打包了,cmd进入resources\app\resources目录
   asar pack ./app app.asar

执行完毕以后,在./下可以看到app.asar文件,把他复制到./OutApp/mclans.../resources/下,然后把resources下的app文件夹删除,运行resources上层的.exe文件可以启动应用了。

运行demoapp.exe,一切都正常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值