Electron
文章平均质量分 60
记录在学习和使用electron的心得和问题,以便后续查看。
逆风飞翔的猿
闲坐亭台清酒绕,醉卧霓裳红颜笑。
展开
-
【Electron-Vue】构建桌面应用(42)- 企业微信扫码登录
1.前言在前面的文章中支持了钉钉扫码方式登录客户端,然后就可以控制当前登录的用户访问权限。现在主流的团队协作方式,一种是钉钉,另外一种就是企业微信了。既然支持了钉钉扫码的方式,那就需要支持企业微信扫码的方式。2.企业微信扫码登陆详见官方API仔细看了一下官方提供的API,感觉跟钉钉很像,也有很大的不同之处。两者的区别如下:钉钉扫码分为以下几步:钉钉开发者后台需要配置appid,redirecturi。通过上面的配置项在构建钉钉扫码对象的时候,去构建一个连接,并且使用encode编码,同时原创 2021-08-04 15:57:14 · 4201 阅读 · 1 评论 -
【Electron-Vue】构建桌面应用(41)- Can‘t locate Mac/Finder/DSStore.pm in @INC
背景介绍前面的一些文章讲到了,支持window,Linux,macOS系统,同时需要用一份代码去兼容三种系统,以便在git托管代码的时候比较方便,所以就搞了一下代码兼容的问题.在开发过程中,无非是使用process.plateform来区分不同的操作系统,然后根据不同的系统设置不同的配置,比如windows 的托盘菜单menu和macos的程序坞中的配置都是不一样的.其他的倒是差别不大,因为渲染进程用的是vue所以差别不大.将代码移植后,发现出现了一个问题,在执行npm run build的时候,程序原创 2021-08-02 15:38:40 · 1235 阅读 · 0 评论 -
【Electron-Vue】构建桌面应用(41)- Electron程序第一次启动时会有短暂的空白页面
使用Electron开发的时候,会发现安装后第一次启动会出现短暂的空白大概是1~3秒不等。起初是以为在创建窗口的时候会去加载html页面,在加上vue组件的渲染,导致在启动的时候会出现几秒的空白页面,然后渲染之后,就能正常显示。之后的下次启动也不会出现这种问题。如果是这样的话,应该是缓存才会出现第二次启动没有空白页面的情况。在github的electron上看到了一个类似的问题,开发者给出的解释是:他认为是Chrome的版本升级导致的问题,然后给出了一个变通的方式去解决这个问题。解决办法就是:创建窗原创 2021-07-14 15:34:54 · 2126 阅读 · 1 评论 -
【Electron-Vue】构建桌面应用(40)- Electron程序未响应
在使用到Electron-vue开发桌面应用时,出现一个很头疼的问题,就是程序未响应。具体问题描述:Electron程序调用hide隐藏后,当Electron应用长时间运行后,点击托盘图标调用show函数显示应用面板,会出现未响应的情况,并且会同时获取到焦点,导致其他应用无法获取鼠标的焦点,无法进行其他操作,整个系统处于无法操作的情况。关于问题的出现目前是在windows下,不确定是Electron的问题,还是系统的问题,但是出现评率很高,几乎试用的同时都出现过长时间挂起,程序未响应的问题。而我本机原创 2021-07-14 11:30:53 · 2196 阅读 · 2 评论 -
【Electron-Vue】构建桌面应用(39)-Electron窗口最小化恢复后窗口大小发生变化
在使用Electron-vue构建桌面应用的时候,发现最小化之后,恢复窗口会导致窗口大小发生变化。我设置的height为150,当最小化后,点击任务栏中的应用时,恢复窗口展示,会发现窗口height变为179 ,比原先的要高出20多。当你拖拽后,窗口大小又恢复正常为150px。然后去github上找相应的问题,发现挺多人都碰到这种问题。这是Electron自身的BUG。开发人员在测试的时候也出现过这种偏差:出现的偏差在不同的环境中可能会有差异,官方给出的回复是在2016年,所以我查看了我是用的elec原创 2021-07-02 16:09:27 · 1516 阅读 · 0 评论 -
【Electron-Vue】构建桌面应用(38)- 事件的优先级导致点击事件无效
最近在使用Electron-vue做项目的时候发现,给隐藏域中的list添加click事件,无法获取到点击的值,在相应的函数中打印信息,并没有获得输出信息,也就是说可能压根就没有触发click事件。讲一下我的需求:在客户端登陆成功后,记录用户使用过的地址和端口号,以便用户下次登录时,可以直接从下拉菜单中选择。由于前面的组件封装了关于表单的校验,以脱离文档流position:absolute的方式给出用户输入信息,而现在需要做的用于展示用户输入过的地址集合也是通过这种方式去展示。具体的思路是:当用原创 2021-06-30 15:36:34 · 549 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(36)- Electron控制面板图标
前面在使用到Inno Setup打包exe安装应用的时候,安装后发现在控制面板中应用对应的图标缺失想了想在打包安装阶段应该不是代码程序的问题,可能是Inno Setup自身打包的时候缺少了配置,在官方查看API的时候发现了这个属性:UninstallDisplayIcon=D:\icon.ico字面意思就是卸载时显示的图标,那就是控制面板中卸载程序的时候所要显示的图标。打开通过Inno Setup的配置文件.iss文件,在【setup】中添加这个配置[Setup]; NOTE:原创 2021-06-25 15:40:58 · 778 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(35)- electron build失败
如果没有和谐上网,你很多东西都不能从网上下载下来。在使用npm run build编译Electron项目的时候,尤其是在第一次,会根据你Electron当前的版本下载指定的依赖包,这个依赖包是从国外的网站下载下来的,看运气,运气好的情况相下能下载下来,运气不好的话就下载不下来。当你第一次下载成功之后,下载编译,就不会出现这种问题了。那么如果通过npm run build下载不下来,我们该怎么办呢?首先我们可以通过连接直接通过网页去下载:在编译的时候,无论下载失败与否,都会给出下载文件的连接,直接c原创 2021-06-22 15:02:21 · 630 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(34)- electron阻止系统休眠
为了防止休眠状态导致客户端与服务端通信中断,所以需要支持阻止系统休眠的功能。由于之前的框架是electron-vue的,而从2015年以后该框架就不在维护和更新了,导致electron的版本非常的旧,为2.0.8。而在低版本上electron提供的省点拦截器powerSaveBlocker是有BUG的,具体的可以在github上查到。所以不得不将electron进行版本升级,将版本升级到11的时候,重新跑项目就会导致各种undefined异常,比如module undefined和require un原创 2021-06-10 19:05:27 · 2881 阅读 · 3 评论 -
【Electron-vue】构建桌面应用(33)- spawn EACCESS
代码从windows迁移到linux下时长会出现一些权限的问题比如spawn EACCESS起初以为是代码的问题导致的,后来在仔细查看代码后发现并非是代码出现的问题。因为使用了spawn去启动了一个子进程,而子进程是一个可执行文件main,那么spawn EACCESS就应该是文件执行权限的问题,我虽然不认识EACCESS但是我认识ACCESS,接入访问的问题,那么问题就锁定为spawn 读取文件的权限不够。于是找到main文件给个chmod 777 main,再次执行npm run dev发现程原创 2021-06-07 11:07:10 · 516 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(32)- macOS系统中出现白屏
由于项目一直使用的是elecctron-vue,而且自2015年后,项目就不再维护了,导致项目中引用的electron和vue版本都相对的低,升级的话会出现其他的问题,所以一直都没有做版本的升级处理。最近在做macOS支持的时候就发现,莫名其妙的出现白屏的问题,前端UI组件选择的是antdv。在数字输入框a-input-number以及a-icon的时候,渲染会出现白屏的问题。a-input-number在focus的时候或者在hover的时候会导致白屏<a-input-number @ch原创 2021-06-01 16:09:35 · 860 阅读 · 4 评论 -
【Electron-vue】构建桌面应用(31)- 钉钉扫码导致的多次请求
前面提到,支持钉钉扫码登陆,在通过钉钉扫码登陆的时候,发现一个很奇怪的现象,通过这种方式,生成的二维码,扫描成功之后,注销系统后,再次扫码登陆,会发现往后台发送了两条请求:[2021-05-28 17:10:15.765] [info] 钉钉扫码登陆参数: {"address":"192.168.0.116","auth":"dingding","port":"10000","type":"login","username":"078088c8f02431ee8014919049b144fe"}[202原创 2021-05-28 18:20:03 · 795 阅读 · 1 评论 -
【Electron-vue】构建桌面应用(30)- child_proccess多次输出结果
使用child_process启动子进程,并与子进程通信的时候,发现会有多条打印结果,其原因是:不同的操作会触发stdin.write操作,而每一个操作都需要通过stdout.on来监听返回结果,如果使用stdout.on来监听返回结果,那么会一直处于监听状态。导致在其他操作进行stdin.write进行写操作的时候,也会被其他的stdout.on监听到。导致输出多条数据代码:// 钉钉扫码事件ipcMain.on("ddcode", (event, args) => { args.port原创 2021-05-28 16:59:47 · 1428 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(29)- macOS下改变窗口的大小
在前面的文章中说了关于Electron-vue开发客户端,已经支持windows和linux。现在需要支持macOS,由于electron是跨平台的,所以代码就直接拿过来用在macOS中,表现还是有所不一样的,比如托盘菜单,左右键表现形式等。今天讲到的就是在macOS下如何动态的设置窗口的大小。这是之前在windows和linux下都支持的动态改变窗口的大小。// 设置window窗口大小function setWindowSize(width, height) { mainWindow.setS原创 2021-05-11 14:51:20 · 711 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(28)- 客户端对接钉钉扫码登录
1.前言由于公司的工作模式都是使用的钉钉软件,所以当客户端开发完之后,就需要在内部使用,边用边测试。所以为了支持钉钉扫码登录,需要下一番功夫研究一下。钉钉参考文档2.钉钉扫码登录2.1 界面设计考虑到需要支持钉钉,以后还可能要支持企业微信…等,所以界面设计就需要考虑一下,打算通过点击的方式进行页面跳转。见下图,在最下方添加钉钉的链接,以后支持其他第三方登陆,可能就是排成一排的形式了。钉钉扫码页面,考虑到用户可以取消钉钉登陆方式,提供返回操作,返回到主登陆页面,使用账户/密码登陆。整体的界面原创 2021-02-04 17:59:24 · 1474 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(27)- 制作rpm文件
1.前言由于我们的客户端需要支持国产化Linux,而且主产品是在中标麒麟以及银河麒麟上使用,所以上面的两个系统都需要支持。而上面的两个系统是需要rpm安装包的,所以需要调研rpm包的支持。闲话少说,书归正传,开始我们的客户端打包rpm文件。2.打包.rpm文件如果你在网上查找关于rpm文件的打包,一定会查到很多相关资料,大多是从源码文件开始打包的,还是需要xxxx.tar.gz的包,然后放到SOURCE文件中,然后开始去构建,构建的项目会存到BUILD中。由于我是用的是Electron-vue,所以原创 2021-02-01 10:54:50 · 1117 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(26)- shared libraries: libgconf-2.so.4: cannot open shared object file: No such
在做客户端对于Linux的支持,将打包后的项目进行安装,在执行应用的时候发现这么个问题:./dynarose: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory问题提示很明显是缺少libgconf-2.so.4导致的,于是尝试着使用apt-get的方式去安装,发现又出现另外一个问题,问题表明应该是你安装的包不存在或者他被其他原创 2021-01-25 14:54:38 · 905 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(25)- Ubuntu安装deb文件任务栏不显示应用图标
1.前言上帝在给你打开一扇窗的同时,会给你挖个坑最近在做Electron-Vue支持Linux系统的调研。发现坑太多了,由于Linux的发行版太多再加上还有不同的UI,导致要做版本的支持会是一个让人很崩溃的事情。首先让我们看看Linux系统下的表现形式。2.Linux支持Electron客户端先了解一下Linux世界用户较多的前2大主要分支,RedHat Red Hat Enterprise Linux 简称RHEL rpm (RedHat, CentOS, Fedora, Oracle…原创 2021-01-22 16:41:11 · 3280 阅读 · 10 评论 -
【Electron-vue】构建桌面应用(24)- Could not get lock /var/lib/dpkg/lock-frontend.....
在使用dpkg执行安装程序时,发现安装不了,同时出现以下的错误而在双击执行deb文件时也会出现相应的提示信息Could not get lock /var/lib/dpkg/lock-frontend .......... locked by another process 02字面意思就是被其他的进程锁定了或者占用了,需要手动去删除以下,执行以下命令sudo rm /var/lib/dpkg/lock-frontend因为我的错误是lock-frontend所以删除这条就行了,如果你是其他原创 2021-01-15 10:45:40 · 108 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(23)- Error: spawn EACCESS
由于electron-vue构建的桌面应用需要支持不同的操作系统,在windows下一切都相安无事。但是放到linux下不同的UI下也都体现出不同的问题。今天在做开发时就碰到一个很奇葩的问题,在linux gnome下执行没问题,但是在deepin下就会出现如下异常:Error:spawn EACCESS详见下图:spawn是nodejs提供的通信工具,用于主进程和子进程之间通信的,我前面的文章都有提到过,这里就不再赘述了。出现这个问题,虽然乍一看没有头绪,但是细看的话应该能看懂。关键在于EA原创 2021-01-12 14:47:56 · 1338 阅读 · 0 评论 -
【Nodejs】Too many levels of symbolic links
在执行npm run build的时候,发现在一个服务器上/本机安装多个版本的nodejs或者你的依赖指向多个node就会在编译的时候出现警告,并且编译失败。意思是node的库使用的是/snap/bin/node,但是npm用的是The node binary used for scripts is /snap/bin/node but npm is using /snap/node/3292/bin/node......还会出现这个问题/usr/bin/env: ‘node’: Too many原创 2021-01-05 17:49:35 · 2270 阅读 · 2 评论 -
【Eelectron-vue】构建桌面应用(22)- linux下找不到net模块Cannot find module ‘../net‘
前面的文章提到了使用electron-vue构建桌面应用,已完成window下的开发,部署,发布。最近需要搞一下支持Linux系统。由于electron,vue都是跨平台的,所以直接将代码移植到linux下,但是发现在项目跑起来的时候却提示Can not find modules ../net一时摸不着头脑,因为这玩意没有明确的提示是什么地方缺少了net模块。是虚拟机,是ilnux系统,还是electron-vue项目。...原创 2021-01-05 11:33:32 · 1003 阅读 · 0 评论 -
【Linux】Ubuntu无网络服务
最近在使用Linux支持electron-vue项目的开发时,偶然遇到了没有网络的问题。无论是查看虚拟机还是Linux系统的网络显示的都是可以连接,但是发现就上上不了网。后来尝试了一下解决办法,需要将NetworkManager先停止,然后删除状态值,再重启一下。sudo service NetworkManager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo service NetworkManager start原创 2021-01-04 18:10:23 · 797 阅读 · 0 评论 -
【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升
在前面的文章中提到过,我是用的是一款名叫Inno Setup的打包安装工具,可以打包成windows安装文件。在项目收尾的时候,发现使用Inno Setup打包成安装文件后,双击安装文件,执行安装,在最后一步的时候,如果你勾选了Launch 某应用的时候会出现需要提升程序执行权限的问题,如下:在网上查了一下,其中微软官网提到需要提升程序的操作权限即需要用管理员权限启动才没有问题,连接查看这里。然而,我并不想每次用户启动程序的时候都需要右键程序,然后选择管理员权限执行,所以这种官方的这种方式不是我想原创 2020-11-04 11:41:09 · 1119 阅读 · 0 评论 -
【Eelectron-vue】构建桌面应用(20)-electron的退出quit和exit
1.前言前面解决了on和once的监听问题,在反复测试下没有出现其他操作时调用注销的callback函数,问题算是解决了。考虑到以后可能扩展应用,还需要再深入研究一下怎么做才能更优雅的处理on和once事件,以及事件的监听怎么和Electron-vue框架更好的融合,这里不再赘述,等以后有结果了,再补上后续。这里想要说的一个问题就是当退出程序时,会将进程直接杀死,窗口直接关闭调。因为要跟后台的庄陶保持一致,需要在退出程序的时候去先执行注销操作,即先访问后台,将当前用户注销掉,清除token或者sessi原创 2020-11-03 15:59:10 · 7956 阅读 · 3 评论 -
【Eelectron-vue】构建桌面应用(19)-electron的监听事件on和once
最近在搞Electron-vue的项目,由于之前没做过这种客户端的开发,所以在开发的过程中一直磕磕绊绊,碰到各种异常的情况,而且网上的资料很少,很多问题都找不到解决办法,而且很多博客都是重复的。一篇博客被很多人转载,而且有的博主会把自己的一片文章发布到不同的平台上,这就导致在搜索的时候,看到很多篇一样的文章,而且都是不能解决问题的,就很烦。好了闲话少说,这里只是吐槽一下网上千篇一律的博客。我所碰到的问题是这样的。我做的客户端挺简单的,只有登录页,主页面以及修改密码页,所以页面要展示的东西不是很多,由于原创 2020-11-03 14:49:02 · 4113 阅读 · 1 评论 -
【Eelectron-vue】构建桌面应用(18)-electron打包应用时托盘图标错误
今天打算打成安装包发给测试部门做集成测试,本想偷个懒直接打包交给测试,但是大意失荆州。测试拿到安装文件,安装后执行程序,直接报错,程序直接就奔溃了,错误信息如下:看到错误的时候也是蒙了一下。仔细查看了一下错误信息,应该是图片路径的错误。我们知道在开发环境下的文件路径跟生产环境下是不一样的,需要我们在做产品打包发布时做额外的处理。开发环境下,为了方便测试,我的图片都是跟主进程main/index.js放在同一路径下,都在src/main下,且运行无障碍,所以也没有注意。查看了一下代码,是在创建托盘原创 2020-10-29 18:16:58 · 1206 阅读 · 2 评论 -
【Eelectron-vue】构建桌面应用(17)-electron托盘图标的徽标
1.前言在windows系统中,一般的应用都会监听不同的状态,然后给出不同的提示。比如QQ的离线状态,企鹅会变灰。当网络中断时,会一直在左右摇摆,类似于等待重连,并且后台都做了重连的操作。基于这种情况,我们的客户端也需要做这种诊断网络异常,并且给出提示,然后重新连接。网络重连我就不在这里说明了,这个是后台设置的机制,当网络与服务端不通时,自己尝试重连,知道重新建立链接或者说是token超时,放弃链接,让用户检查网络,重新登录。基于此,做了如下操作调研electron的能力,尝试实现托盘徽章,用原创 2020-10-28 16:03:47 · 1224 阅读 · 0 评论 -
【Eelectron-vue】构建桌面应用(16)-electron窗口大小设置
在使用electron进行桌面开发时,会随着业务的需要动态的改变窗口的大小,比如从登陆窗口跳转到主页面的时候需要去改变大小,退出登陆的时候也需要改变大小。发现在使用setSize去设置大小的时候,会出现有的时候可以改变大小,有的时候改变不了,经过一番尝试,可以和最大值最小值一起设置,无论在什么情况下都能改变大小。import { app, BrowserWindow, ipcMain, Tray, Menu, dialog } from 'electron'let mainWindow mainWin原创 2020-10-26 18:59:43 · 6876 阅读 · 1 评论 -
【Eelectron-vue】构建桌面应用(15)- 修改antdv输入框默认样式及表单校验提示信息
1.前言现在的客户端与以往的有些区别,比如登录页面的输入框,大都废弃了之前的登录框样式,而采用只存在底边的输入框。还有就是输入框的错误信息都会采用浮层的形式提示,而不是瀑布流的方式去提示。在借鉴了其他客户端的方式,做了一些调整,这些调整都需要对antdv组件进行从新修正。因为我是用的是electron-vue+antdv的架构去构建的应用。2.修改输入框的默认样式先看一下效果图如下:2.1 修改border仅保留底边我们要做的事情就是:修改输入框为只有底边当输入框获取悬浮事件时,改变b原创 2020-10-22 11:28:39 · 3227 阅读 · 2 评论 -
【Electron-vue】创建桌面应用(14)- 自定义Electron窗口
1.前言上次将项目向同事展示了一下,算是electron-vue的第一阶段调研。但是演示的时候却被各种否定,窗体比较大,而且设计不合理,布局方式不合理,等等等。由于在此之前没有做过这种客户端的形式,所以设计也是无从说起。于是经过一番的讨论,基本上确定了要做一个类似于QQ的客户端的产品,经过一番努力,终于搞得是差不多了,成品图如下:主要解决的问题舍弃electron自带的窗体,自定义窗体通过事件监听解决最小化和隐藏托盘的功能无窗体下的拖拽功能实现下面就开始我们的代码之旅。2. 修改窗原创 2020-10-20 16:55:33 · 3213 阅读 · 6 评论 -
【Electron-vue】创建桌面应用(13)- Electron应用隐藏到托盘
现在大多数的应用程序,在点击关闭的时候不会再任务栏显示,而是隐藏到托盘中,然后点击托盘中的程序图标,就会打开应用面板。electron提供了一些插件来实现这种需求,主要是Tray, Menu这两个插件。由于代码比较少,所以就不啰嗦了import { app, BrowserWindow, ipcMain, Tray, Menu } from 'electron'const path = require('path');// 创建窗体function createWindow() { /**原创 2020-10-19 14:55:00 · 2266 阅读 · 3 评论 -
【Electron-vue】创建桌面应用(12)- 修改electron窗口图标和桌面图标
1.前言直到今天Electron-vue项目终于到打包联调的的最后阶段了,在本地调试没有问题的情况下,需要进行最后一步的模拟真实环境下的调试了。默认打包将会使用默认的图标,所以打包之后的项目需要做以下几点修改静态资源路径的修改打包后窗体图标的修改安装之后的图标修改将会在下面的配置修改中统一处理2.配置修改2.1 静态资源路径的修改由于我需要去调度/执行另外一个exe文件,所以我需要将开发环境和生产环境作区分,所以需要配置不同环境下的exe文件(暂时称为服务端exe)的路径。服务端原创 2020-10-16 18:32:53 · 12098 阅读 · 4 评论 -
【Electron-vue】构建桌面应用(11)-渲染进程与主进程通信时多次输出结果
在Electron-vue框架中,使用ipcMain和ipcRenderer进行通信时,通常会使用on方法去监听某一个事件,具体用法是:主进程main.js// 监听登陆渲染进程事件ipcMain.on("login", (event, arg) => { let message = '' let cmdStr = '' + JSON.stringify(arg) + '' child.stdin.write(cmdStr + '\n') child.stdout.on('dat原创 2020-10-14 18:05:41 · 1085 阅读 · 1 评论 -
【Electron-vue】构建桌面应用(10)-nodejs调用exe传参获取返回值
1.前言在前面做了一些Eelectron-vue的基础调研,包含项目构建,打包应用以及构建安装程序等,其中也碰到了一些问题,基本上能解决的都解决了。做了前面的研究准备,接下来就是项目的实际开发。目前是在主进程中可以启动子进程(这里指另外一个exe程序),并且能获取到子进程返回的数据,所以接下来要调研的就是怎么向子进程传递参数以及怎么获取子进程中返回的数据?2.父子进程的参数传递前面使用的是spawn的方式去实现的父子进程之间的通信,这里也还是使用spawn实现父子进程之间的参数传递。其中子进程传给原创 2020-10-09 18:30:13 · 2526 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(9)-electron中的this指向问题
我记得在刚使用elecctron-vue进行开发的时候是可以绑定的,通过一些事件触发也可以变更视图。于是重新构建了一个应用,当我没有引入主进程和渲染进程时,发现一切都是好的。然而添加过主进程和渲染进程通信后,发现在进程中无法使用this进行绑定。在上一篇在中发现了electron-vue中的this指向出现问题,在主进程和渲染进程之间通信的时候,尝试了不管使用何种方式,在ipRenderer中this永远指向窗口即electron,而不是指向我们的Vue。更正一个问题,昨天说到我在登陆页面也无法通过th原创 2020-09-28 15:35:11 · 833 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(8)- antd组件绑定到原型上无法使用
1.前言前面关于electron打包可安装程序的准备工作已经基本完成了,除了Mac os下没有环境,暂时无法测试打包情况,但是package.json中既然支持Mac os的打包,那就应该问题不大。完成了前面的准备工作,现在终于开始着手开发的心心念念vue。之前是获取到exe文件返回的数据,需要根据返回信息来告诉用户启动成功或者失败。就需要将获取的信息通过message组件,notification组件等组件给出提示信息。由于之前用惯了react+antd的开发,所以索性在vue项目中也使用antd来原创 2020-09-27 16:33:51 · 931 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(7)-nodejs执行exe程序并获取输出值
1.前言在之前的文章中,实现了Electron-vue在不同系统打包成安装程序。但这只是前端build/package之后的文件打包,虽然服务端的编译之后的exe文件也可以放到一起打包,并且可以去启动服务端程序。然而不能与服务端通信的话,那么这个程序存在的意义就不大。所以在这片文章中会讲一下怎么在安装之后,启动应用程序调用服务端程序,同时获取服务端的输出值/返回值。由于不是传统意义上的前后端通信(常见的前后端通信,只需要使用http/https进行通信即可,request发送请求,response返回请原创 2020-09-25 18:43:28 · 4235 阅读 · 3 评论 -
【Electron-vue】构建桌面应用(6)-Ubuntu安装中文输入法
最近研究Linux下打包,发现在Linux下怎么也调不出来中文输入法,一脸懵逼,难道Linux不是默认支持中英文么?没有中文输入法就很别扭,不能在Linux系统中查询资料,每次还得切回到windows下去查询资料,然后在切回linux中操作,很是麻烦,便想安装一个输入法。于是想安装一下搜狗输入法,但是发现安装输入法只能使用.deb文件去安装,安装之后,发现在添加输入法的时候完全找不到刚添加的搜狗输入法?那刚才安装的输入法哪里去了?网上搜了一下,Ubuntu默认支持的是IBus,而搜狗输入法是原创 2020-09-22 16:28:54 · 818 阅读 · 0 评论 -
【Electron-vue】构建桌面应用(5)-Linux下打包安装程序deb文件
1.前言在上一篇博客中讲到交叉打包的问题,但是很遗憾的是,目前做不到。在window下打包的可执行程序,无法在Linux下执行,并且会出现core dumped的问题,目前无法解决 在Linux下可以通过build生成windows下的可执行程序,并且在windows下可执行,而且在windows下通过Inno Setup打包生成可安装程序 那接下来就是调研怎么在Linux系统中生成可执行程序。2.Linux下生成可执行程序1.准备工作因为VS code9(以下简称VS)开发工具原创 2020-09-21 17:06:49 · 5258 阅读 · 8 评论