
Electron
朱穆朗
我不是码农!
展开
-
我的第一个开源项目electron-vue-ant
基于以下核心框架:electron 11.3.0 Vue 2.6.12 ant-design-vue 1.7.4最适合做桌面跨平台开发的基础框架,Ant-design-vue是目前国内最优秀的Vue UI框架库,因为Element UI已经停止更新(据说原因是以前团队都被阿里挖过去了)然后github和gitee上基于electron和vue的各类模板都太老了,甚至还都是基于electron2.x的,现在都11.x了,所以自己做了这个项目,功能如下:自动更新:不同于eletron-v...原创 2021-03-11 09:23:15 · 1108 阅读 · 0 评论 -
Ant design vue动态主题切换的坑与一般性方法
本文原创,并且以吐槽为主,下面开始:Ant design vue是很优秀的框架,不过对于一般小白用户(比如我),文档方面不够友好。官方给出了主题自定义色彩的方案,但是太过于简陋,网上很多技术解决方案也点到即止,我在这方面足足浪费了两天时间,下面说一下技术重点,每个点都是自己踩出来的坑,都是泪:先说下需要的各个模块以及版本号,这个很重要,版本号不对,就会有各种你搜都搜不出解决方案的报错【以下内容均针对vuecli3/4初始化的项目环境,其他方案请自行解决】Vue@2.6.11Ant-de.原创 2021-03-04 16:04:43 · 4649 阅读 · 16 评论 -
Node.js调用CMD命令时的操作方法
网上各种教程,各种坑呀,还是要自己折腾。首先,确认要用的是child_process来启动子进程,然后用spawn方法去执行各类CMD命令。然后,对于中文系统,我们需要用iconv-lite去除乱码。所以,示例代码如下:const iconv = require("iconv-lite");var spawn = require("child_process").spawn;var result = spawn("cmd.exe", ["/s", "/c", "ping www.baidu.c原创 2021-02-08 15:18:23 · 3647 阅读 · 2 评论 -
Electron中调试和生产模式的判断方法
核心参数是这个:【app.isPackaged】官方文档里是这么说的:返回一个Boolean值,如果应用已经打包,返回true ,否则返回false 。 对于大多数应用程序,此属性可用于区分开发和生产环境。所以,程序里就可以这样写了:store.set('devmode', 0);if (!app.isPackaged) { //production //con...原创 2020-05-07 15:53:49 · 5310 阅读 · 0 评论 -
electron操作注册表时,regedit模块功能缺少deleteValue功能的解决办法
electron的regedit是个第三方团队开发的windows注册表操作扩展,一直都没有提供deleteValue的方法。其实,直接使用node中的node-exec执行VBS命令,就可以直接在注册表特定位置删除键值了,不过需要注意的是,权限限制,一般只能操作currentuser部分的内容,下面是具体代码(渲染进程中):var shell = require('node-exec')...原创 2020-04-23 17:14:15 · 1412 阅读 · 3 评论 -
electron使用regedit模块时的正确配置方法
electron使用node js的regedit模块时,正确的配置方法有三点:1、在package.json的build部分,增加如下内容:"extraResources": [ { "from": "node_modules/regedit/vbs", "to": "vbs", "filter": [ "...原创 2020-01-17 16:44:40 · 2442 阅读 · 13 评论 -
Electron在Mac下,对于系统主题的识别以及任务栏图标的处理
Electron中,对于Mac的主题,过去是通过systemPreferences.isDarkMode()方法判断,新版的Electron中,已经建议全部更换成nativeTheme了。下面是示例代码://判断是否为OSXif(process.platform=="darwin"){ console.log('is Mac'); //当桌面主题更新时 native...原创 2019-12-15 11:37:18 · 2452 阅读 · 8 评论 -
Electron在跨平台时候的小问题
我还真没想到会有这种问题,在win上开发的好好的程序,放到mac上细节就出问题。win下主进程中加载index.html的语句如下mainWindow.loadURL(`${__dirname}/index.html`);注意不是单引号,而是‘·’,就是键盘esc键下面那个东东。而在mac下,electron-quick-start给的加载方式是:mainWindow.lo...原创 2019-12-14 23:08:59 · 409 阅读 · 0 评论