electron-updater是一个用来自动检测当前应用版本及自动下载安装新版本的工具,开发者配置好服务器资源,自动检测更新等相关事件完善后,需要测试能否正常检测到新版本及升级等,但是在开发者模式下使用electron-updater检测时会抛出一条日志如下;

Skip checkForUpdates because application is not packed and dev update config is not forced

大致意思是当前应用没有打包,跳过本次检查更新,而每次修改代码重新打包测试又比较费时,这里推荐一个简单的技巧,就是通过js的内置方法Object.defineProperty修改electron下app模块的isPackaged属性,强制修改当前状态为’已打包‘,自此,就可以快速的测试了;

const { app } = require('electron');
Object.defineProperty(app, 'isPackaged', {
  get() {
    return true;
                    大致意思是当前应用没有打包,跳过本次检查更新,而每次修改代码重新打包测试又比较费时,这里推荐一个简单的技巧,就是通过js的内置方法Object.defineProperty修改electron下app模块的isPackaged属性,强制修改当前状态为’已打包‘,自此,就可以快速的测试了;
1.Electron版本问题。
2.Electron-Vue版本问题。(我手里的项目使用的electron-vue版本为"vue-electron": "^1.0.6",对应的electron是"electron": "^2.0.4",当前最新版是13+了)
3.electron-builder 版本问题。
步骤1:如果.
在zip上实现了Mac差异更新。
 download-progress事件将适用于nsis和mac的差异更新。
 文档-https  //imjselectron.github.io/electron-differential-updater/#/
添加了“ useAppSupportCache”选项,以将更新程序缓存位置添加到用户应用程序支持目录。
 dmg的差异更新。(取决于空闲时间,如果你们想提高公关或分叉。我们很乐意合并拉取请求。)
其他更新程序相关的信息检查
在此模块中实现的电子更新程序问题/功能
  -Mac差异更新
用于差异更新的进度条事件
更新位置可以移至用户应用支持路径
如果您想做出贡献,请提出问题并提出要求。
 本地设置-
 #Install Deps
##Compile
yarn:win or ya
				
在21年末遇到公司遇到一个比较奇葩的bug,electron开发客户端在进行自动升级时中途闪退没有任何日志。 经仔细观察,是在新包下载完后对老版本包进行替换的时候闪退,无意中发现在这一过程里,任务管控器里有两个应用进程,猜想是旧的任务没有完全退出进程,于是查阅api,对关于退出任务、进程、关闭窗口的api进行组合测试,最终总结了一套解决方案~ 如下代码: ipcMain.on('isUpdateNow', (e, arg) => { //console.log("开始更新");
我们都知道electron中集成了Chromium,内部有一个最新版的谷歌浏览器,开发者无需再去考虑浏览器的兼容性,这样我们就可以用最新的语法,es6,es7、flex布局等,但是我们想要打开开发者工具调试的时候,按F12却没反应。 打开开发者工具很简单,只需要 win.webContents.openDevTools() if (process.env.WEBPACK_DEV_SERVER_URL) { if (!process.env.IS_TEST) win.webContents.
https://newsn.net/say/electron-devtools-plus.html 但是,还需要在打包的配置依赖中加上几项内容;在package.json文件中: 默认只有dev里面有下面两项依赖 现在,要把这两项也添加到dependencies里面 在开发Electron过程中,有些测试需要在打包后进行。但是无法想看到调试信息。一则可以借助logger.js将相关信息打印到日志中.另外一种方法就是在打包后开启dev开发者模式。 webPreferences中,devTools设置为true,并且高版本的话,nodeIntegration需要打开。(main.js或者main文件夹下index.js) webPreferences: { devTools: true, nodeInteg...
从下载应用程序包(例如example-win32-ia32-v1.0.0.zip)。 您必须选择“旧版本”。 提取zip文件并执行该应用程序的可执行文件(example或example.exe)。 该示例应用程序将启动,并将检查更新。 这是一个幸福的结局! 该应用程序已更新至最新版本。 1.在GitHub上分叉项目 首先,请从派生一个项目。 然后为您的分叉存储库执行git clone命令。 然后使用npm install命令安装依赖项模块。 $ git clone https://github.com/YOUR-NAME/electron-updater-gh-releases-example.git $ cd electron-updater-gh-releases-example/ $ npm install -g
==引言==:Electron是目前非常流行的一种开发框架,它可以让你使用纯JS调用丰富的原生APIs来创造桌面应用。你可以把它看作是专注于桌面应用而不是web服务器。这不意味着 Electron是绑定了GUI库JavaScript。相反,Electron使用web页面作为它的GUI,所以你能把它看作成一个被JavaScript控制的,精简版的Chromium浏览器。 一、搭建跨平台应用 二、调用第
Electron-builder和electron-update都是Electron应用程序的构建工具。Electron-builder用于构建Electron应用程序,并将其转换为可执行文件,安装程序或appx包等格式。它可以从一个平台构建到另一个平台,并为不同的操作系统生成不同的安装程序。 electron-update是一种用于实现Electron应用程序的自动更新的工具。当应用程序有新的版本时,可以使用electron-update将更新包发送到远程服务器,以便应用程序自动下载和应用更新。它还可以在运行时检查更新,以确保用户始终使用最新的版本。 使用这两个工具可以使开发者更方便地管理Electron应用程序的构建和更新。它们提供了一种高效和可靠的方式,使开发者可以将精力集中于应用程序的开发和改进上,而不必担心构建和更新的问题。同时,它们也提高了用户体验,使用户可以始终使用最新且稳定的版本的应用程序。
programmer_ada: 非常感谢您分享这篇关于Electron内置模块nativeTheme实现主题功能的博客,这是一个非常有用的主题。非常高兴看到您一直在持续创作,并分享您的知识和经验。接下来,我期待能够看到您更多关于Electron相关技术的文章,比如Electron应用的性能优化、跨平台开发等。再次感谢您的分享! CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3,我们会奖励持续创作和学习的博主,请看:https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply3 [Electron] http协议访问摄像头麦克风 programmer_ada: 非常感谢您分享的这篇博客,让我们了解到了如何使用Electron中的http协议访问摄像头麦克风。您的经验分享对于我们这些技术新手来说非常有用,希望您能够继续分享您的学习和实践经验。除了您提到的方法,我们还可以了解一些关于Electron开发的扩展知识,例如Electron中的主进程和渲染进程、Electron的跨平台开发、Electron应用程序的打包和发布等等。希望您能够继续深入学习和探索,分享更多有价值的内容。 如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2 [Electron] 自定义编译electron后,electron-builder指定编译后的程序路径打包 programmer_ada: 恭喜你写下了第一篇博客!能够掌握 Electron 并自定义编译,是非常了不起的成就。希望你能够继续坚持写作,分享更多有价值的经验和技巧。祝你博客创作愉快! 推荐【每天值得看】:https://bbs.csdn.net/forums/csdnnews?typeId=21804&utm_source=csdn_ai_ada_blog_reply1 [Node.JS] 读取带注释及格式为UTF-8 BOM的json文件 programmer_ada: 不知道 Vue入门 技能树是否可以帮到你:https://edu.csdn.net/skill/vue?utm_source=AI_act_vue