前言window环境。electron@28.0.0sqlite3@5.1.6使用electron-builder打包。本文旨在解决打包后无法写入数据库的问题。但如果你是打包后无法访问sqlite,且有报错弹窗,不妨也看看本文。也许是同一种原因。错误原因分析打包后无法创建db文件,是因为大部分人连接db,都是用path模块,采用path.join(__dirname,'data.db')类似这样的写法。因为网上的垃圾教程都是这么教的,笔者也深受其害。默认情况下,打包后获得的目录格式为(假设你的输出目录是dist/)/dist/xxx.exe/dist/resources/app.asarxxx
在普通的网页开发中,JavaScript由于安全性的考虑,通常是无法直接获取到客户端的磁盘路径的。浏览器出于隐私和安全原因对此类信息进行了限制。在浏览器环境下,JavaScript主要通过WebAPIs来与浏览器进行交互,而这些API通常受到浏览器的安全策略的限制。文件系统信息是被认为是敏感的信息,因此浏览器不提供直接访问客户端磁盘路径的API。所以要使用electron属性来获取。第一步:electron分为主进程和渲染进程,主进程就是使用electron的特性属性api,渲染进程就是我们的代码,比如vue页面代码这种。首先我们要把项目用electron启动起来,具体怎么启动看我上一篇博客启
一、首先是打包,mac的打包选项有dmg、mas、zip等,dmg分为x64、arm64,分别对应intel芯片和applem1m2芯片配置打包项:Mac=>target=>dmg>[arm64,x64]buildOption:{"mac":{"hardenedRuntime":true,"icon":"./public/favicon.png","target":[{target:"dmg",arch:['arm64','x64']}]},}这样打包之后,用户下载dmg文件后安装打开,mac会提示该程序不受信任;好多地方说dmg是不需要签名的,但是我觉得dmg下的.app文件照样还是需要求签
大家都知道JavaScript无论是在浏览器中运行、还是在Node.js中运行都是单线程运行的,所以并不适合在处理一些CPU密集型任务。但是Node.js允许开发者使用C、C++等语言开发像普通的Node.js模块一样通过require()函数加载的原生模块。因为Electron内置Node.js,这样就使得Electron同样具备了相同的能力。在实际业务场景中,也有一些现成的C/C++项目,在Node.js项目中直接复用可以节约很多开发成本。本文将探讨如何在Electron应用中开发原生模块,以扩展应用的功能和性能。搭建原生模块开发环境在目前的原生模块开发中,一般都是基于Node-Api进行
同学们可以私信我加入学习群!正文开始前言一、大模型选择二、获取key三、调用api四、调用ai模型api时,解决跨域总结前言最近单位把gpt、文心一言、通义千问、星火等等等等你能想到的ai大模型都给禁掉了,简直丧心病狂。不知道有多少感同身受的难兄难弟,反正我是忍不了了。所以我自己调用大模型的api,搭建了一个小工具。难点基本没有,分享出来,做个参考。ai模型以通义千问为例。一、大模型选择不差钱的选文心一言,传说是国内最强,也不知道有没有什么事实依据。反正像我这样差钱的,选择通义千问200w算力基础版+100w算力plus版,180天有效期。用不完,根本用不完。如果哪天用完了,是续费,还是拿同事
这里我将讲解一下从0搭建一个electron最简版架子,以及如何实现打包自动化更新之前我有写过两篇文章关于electron框架概述以及常用api的使用,感兴趣的同学可以看看Electron桌面应用开发Electron桌面应用开发2搭建electron官方文档:https://www.electronjs.org/zh/只需要三个文件就可以跑起来electron创建一个文件目录mkdirmy-electron-app&&cdmy-electron-appyarninit然后,将electron包安装到应用的开发依赖中。yarnadd--develectron{"name":"my-electro
nodemon是一种工具,可在检测到目录中的文件更改时通过自动重新启动节点应用程序来帮助开发基于node.js的应用程序nodemon特性自动重新启动应用程序。检测要监视的默认文件扩展名。默认支持node,但易于运行任何可执行文件,如python、ruby、make等。忽略特定的文件或目录。监视特定目录。使用服务器应用程序或一次性运行实用程序和REPL。可通过Noderequire语句编写脚本如下图start脚本启动项目后。修改electron主进程代码后程序不会刷新,需要重新启动才生效,显然我们再开发阶段会写大量的代码,每次改动后都手动重启显然太麻烦了,严重影响了工作效率。那么应该如何解决,
文章目录零、总结半、本篇目的一、安装VirtualBox二、下载Windows11镜像二、下载Windows11镜像(替代步骤)三、创建虚拟电脑其他、设置Win11系统(可选步骤)四、安装node.js五、安装Git六、下载electron-egg七、设置镜像源并npminstall八、真正的启动只想使用electron.启动九、预发布模式,测试一下功能是否正常十、打包1.构建前端资源2.移动前端资源文件3.代码加密,这里就跳过了4.修改项目名称5.设置镜像6.安装Python7.安装vs,Windows的C++构建工具8.连上程序员的老家,Github9.正式打包10.最终成果其他十一.在e
1、electron打包项目的时候报错:ExecError:\node_modules\app-builder-bin\win\x64\app-builder.exeexitedwithcodeERR_ELECTRON_BUILD2、原因:网络因素导致无法下载到 https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z3、解决方案: 在npm的源中配置如下代码:exportELECTRON_BUILDER_BINARIES
近期有项目需求前端播放rtsp视频流,项目是由electron+vue3搭建,没有后端,因此需要在前端实现解析rtsp流及播放,经过多方考察最后选用了ffmpeg+jsmpeg方案实现,具体实现是参考了@牧也の旅行大佬的这篇文章原文地址实现的,感谢@牧也の旅行一直在回复我的各种小白问题,这里记录一下做这个功能时遇到的问题和解决方法:主进程中的程序及其他配置参见原文,这里就不赘述了。1,原文是单路播放,我的需求需要多路播放:本来预想是展示16路,查资料也是说可以显示16路,但实际发现浏览器中只能稳定显示8路,超过后浏览器经常会报WARNING:ToomanyactiveWebGLcontexts