当前播放: 26 | Electron 应用打包:从HTML到安装包
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:Electron基础篇 (12讲)
01 | 课程介绍
免费
02 | 内容综述:学完这门课程你能得到什么?
免费
03 | Electron介绍:为什么Electron这么火?
免费
04 | 揭秘Electron架构原理:Chromium + Node.js是如何一起工作?
免费
05 | 桌面端技术选型:如何选择合适的桌面端技术?
06 | Electron开发准备:环境搭建及前期准备
07 | 第一个Electron应用:开发一个简单版的番茄钟(上)
08 | 第一个Electron应用:开发一个简单版的番茄钟(下)
09 | 与Web开发不同(一):主进程与渲染进程
10 | 与Web开发不同(二):进程间通信
11 | 与Web开发不同(三):Native能力及原生GUI
12 | 与Web开发不同(四): 释放前端想象力,基于Electron能做什么?
第二章:实战篇 - 远程控制软件 (13讲)
13 | 实战项目综述:整体需求分析
14 | 设计思路:做远程控制有几步?
15 | 项目架构与基础业务:Electron 与 React 框架结合
16 | 主页面基础业务:Real World IPC
17 | 傀儡端实现(一):基于Electron能力捕获桌面视频流
18 | 傀儡端实现(二):如何接收&响应指令?
19 | 傀儡端实现(三):基于WebRTC传输视频流(上)
20 | 傀儡端实现(四):基于WebRTC传输视频流(下)
21 | 信令服务:如何连接两端(上)
22 | 信令服务:如何连接两端(下)
23 | 指令传输实现:如何建立数据传输?
24 | 项目完善与总结(上):App特性
25 | 项目完善与总结(下):原生GUI
第三章:Electron 工程篇 (10讲)
26 | Electron 应用打包:从HTML到安装包
27 | Electron 应用更新(一):软件更新的痛点
28 | Electron 应用更新(二):线上项目如何更新?
29 | Electron 质量监控:桌面端的质量抓手是什么?
30 | 使用原生能力:如何集成C++能力?
31 | Electron 自动化测试:如何编写端到端测试?
32 | Electron体验优化:如何优化白屏问题?
33 | Electron客户端的安全:从XSS到RCE
34 | Electron bad parts:辩证看待Electron技术
35 | 结课测试&结束语
26 | Electron 应用打包:从HTML到安装包

26 | Electron 应用打包:从HTML到安装包

邓耀龙
美团高级前端工程师
全集2443
新人首单 ¥19.9 原价 ¥99
5
本节摘要
登录 后留言

精选留言(12)

  • 亮亮大王🍀
    老师您好,我采用的是你的node例子启动的服务器,public下面也放置了高版本的包,直接访问地址是可以下载文件,但是在我打包之后自动更新一直都走autoUpdater error函数,报错的具体代码为{code:6, domain:"SQRLUpdaterErrorDomain"},以及{code: 1, domain: RCCommandDomain}
    2020-07-07
  • Geek_a465ae
    有时electron会白屏,控制台显示DevTools was disconnected from the page. Once page is reloaded, DevTools will automatically reconnect.什么原因?
    2020-06-29
  • Geek_847405
    老师,请教下使用electron builder打包的时候配置了url scheme,打成msi和nsis包,再卸载app之后,发现windows的注册表还残留我们的url scheme,要怎么实现在卸载app的时候,能把这个url scheme自动清除掉呢?希望老师百忙中能抽空回复下,感激不尽

    作者回复: 这个你需要自定义卸载脚本吧,加入一段卸载的宏

    2020-05-22
  • 飞天
    var fs = require('fs')
    var path = require('path')

    var pathFile = path.join(__dirname, 'path.txt')

    function getElectronPath () {
      if (fs.existsSync(pathFile)) { // 这里一直报错:Uncaught TypeError: r.existsSync is not a function

    作者回复: 看起来是fs没引入成功,信息量太少了,不好判断,你开了node环境了吗

    2020-05-17
    1
  • 飞天
    Hi 老师,我在windows 10上打包,显示打包成功了,但安装后界面为空白。直接 npm start 是ok的。着急啊,帮忙解答一下

    作者回复: 看看控制台报错没?

    2020-05-17
    1
  • Geek_a19087
    ## 使用环境
    - node v12.16.1
    - npm v6.13.7
    - electron v8.2.0
    - electron-builder version=22.4.1
    - sqlite3 v4.1.1
    ## 使用 electron-builder install-app-deps 执行后出错
    在Electron 中集成sqlite3 是不是这个原因导致的,我能运行,但在打包时候一直都不能成功
    ··· code
      node-pre-gyp WARN Tried to download(404): https://cdn.npm.taobao.org/dist/sqlite3/v4.1.1/electron-v8.2-win32-x64.tar.gz
        node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.1.1 and electron@8.2.0 (electron-v8.2 ABI, unknown) (falling back to source compile with node-gyp)
    ```

    ## 具体错误信息如下:
    https://send.firefox.com/download/94b06b5734e55052/#xiyNbpkcBFcpY7tFRelOGQ

    2020-04-06
    3
  • zhangjun
    • electron-builder version=21.2.0 os=10.0.18363
      • loaded configuration file=package.json ("build" field)
      • writing effective config file=build\builder-effective-config.yaml
      • packaging platform=win32 arch=x64 electron=7.1.14 appOutDir=build\win-unpacked
      • building target=zip arch=x64 file=build\六一智库-1.3.3-win.zip
      • building target=nsis file=build\六一智库 Setup 1.3.3.exe archs=x64 oneClick=false perMachine=true
      ⨯ [object Object]

    build后报这个错是是为什么啊

    作者回复: 这错误栈没有什么关键信息,建议对一下配置文件

    2020-04-03
  • Geek_yundousou
    electron-builder用于打包发布 2048*2048 sips
    2020-03-22
  • 刘小宅
    老师, 我这通过打包windows的包显示报错, 不知道问题出在哪里, 希望老师帮忙解惑
    duration=11.15s
      • downloaded
    url=https://github.com/electron-userland/electron-builder-binaries/releases/download/Squirrel.Windows-1.9.0/Squirrel.Windows-1.9.0.7z duration=20.587s
      ⨯ macOS Catalina doesn't support 32-bit executables and as result Wine cannot run Windows 32-bit applications too
      • downloading url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z size=731 kB parts=1
      • downloaded url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z duration=5.543s
      • building block map blockMapFile=release/Mercurius Setup 1.0.0.exe.blockmap
      ⨯ /Users/liuhao/Desktop/zhishi/note/electron_react/node_modules/_app-builder-bin@3.5.4@app-builder-bin/mac/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE stackTrace=
                                                                                                                                                                                     Error: /Users/liuhao/Desktop/zhishi/note/electron_react/node_modules/_app-builder-bin@3.5.4@app-builder-bin/mac/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
                                                                                                                                                                                         at ChildProcess.<anonymous> (/Users/liuhao/Desktop/zhishi/note/electron_react/node_modules/_builder-util@22.3.6@builder-util/src/util.ts:239:14)

    作者回复: 你不能使用mac来打win的包。换个win机器打

    2020-03-11
  • 刘小宅
    老师, 我通过视屏的步骤来进行下载 结果报错, > node ./build

      • electron-builder version=22.4.0 os=19.2.0
      • cannot check updates error=Error: Cannot find module 'update-notifier'
    Require stack:
    - /Users/liuhao/Desktop/zhishi/note/Electron/remote-control/node_modules/_electron-builder@22.3.6@electron-builder/out/cli/cli.js
      • loaded configuration file=package.json ("build" field)
      • description is missed in the package.json appPackageFile=/Users/liuhao/Desktop/zhishi/note/Electron/remote-control/package.json
      • electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies

    To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
      ⨯ Cannot compute electron version from installed node modules - none of the possible electron modules are installed.
    See https://github.com/electron-userland/electron-builder/issues/3984#issuecomment-504968246
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! Mercurius@1.0.0 pack:mac: `npm run build && electron-builder --mac`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the Mercurius@1.0.0 pack:mac script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    2020-03-11
  • fishcat
    extraFiles 好像没有过滤,反而加进去了
    2020-03-05
    1
  • fishcat
    目前采用react+electron做了款应用,准备发布,请问打包阶段如何对html、js等源码文件做加密

    作者回复: html、js一般来说就是混淆,打包最后出个asar。
    这块electron做得不好,你可以在后面课程看到相关的内容。

    2020-02-28
收起评论
看过的人还看
Node.js开发实战

杨浩  腾讯高级工程师

57讲 | 5794 人已学习

新人首单 ¥29.9 原价 ¥129
重学前端

程劭非(winter)  前手机淘宝前端负责人

58讲 | 36265 人已学习

新人首单 ¥19.9 原价 ¥99
TypeScript开发实战

梁宵  搜狗营销事业部高级架构师

47讲 | 4252 人已学习

新人首单 ¥29.9 原价 ¥129
JavaScript核心原理解析

周爱民  《JavaScript语言精髓与编程实践》作者,南潮科技(Ruff)首席架构师

28讲 | 5058 人已学习

新人首单 ¥9.9 原价 ¥68