惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Securelist
D
Docker
The Register - Security
The Register - Security
GbyAI
GbyAI
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
罗磊的独立博客
博客园 - 【当耐特】
F
Full Disclosure
WordPress大学
WordPress大学
腾讯CDC
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
SecWiki News
SecWiki News
L
Lohrmann on Cybersecurity
I
InfoQ
MyScale Blog
MyScale Blog
量子位
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
The Hacker News
The Hacker News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园_首页
H
Help Net Security
K
Kaspersky official blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
The Cloudflare Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
爱范儿
爱范儿
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

博客园 - 小猫钓鱼吃鱼

把Claude Code玩明白:VS Code零成本接入DeepSeek大模型 硅基流动-免费代金券 告别从零造轮子!我的 Electron+Vue3 脚手架,让你 10 秒启动桌面应用开发 一个面向产品化的 Electron + Vue 3 桌面应用脚手架 动态代理 自己实现HashMap 自己实现Linkedlist,实现其常用的增、删、查的方法 自己实现Arraylsit,实现其常用的几种增、删、该、查的方法 前后端分离 微服务项目 通用后台管理系统 easypoi一行代码搞定excel导入导出 如何跳出页面的Frame框架 如何从GitHub上下载部分自己需要的文件 Mysql Explain 详解 解决 spring boot Failed to decode downloaded font Java中List集合的三种遍历方式(全网最详) SpringBoot设置首页(默认页)跳转功能的实现方案 idea中搭建ssm框架,详细步骤 微信公众号分享知识 idea创建maven项目速度慢?别急,这有三种方案 ceph是什么 redis 注册开机自启动服务(注意:要到你安装redis的根目录下执行下面的cmd命令) 怎么让mac和win/pc互传文件共享文件传输文件 Starting MySQL... ERROR! The server quit without updating PID file 问题解决
Electron劝退指南?不,这是我的‘真香’致富经
小猫钓鱼吃鱼 · 2026-04-20 · via 博客园 - 小猫钓鱼吃鱼

在无数次被Electron折磨后,作者决定自研零配置脚手架解决所有痛点,意外将其打造成受欢迎的产品并实现盈利。

一个前端开发者的“桌面应用”真香警告:从被Electron坑哭到用它养家
说出来你可能不信,我,一个前端开发者,曾经一听到“Electron”三个字就想双手合十默念“退退退”。

别人用它造出了VS Code和Slack,而我用它——造出了无数个凌晨三点半的Bug,和一种全新的崩溃方式:开发者本人的崩溃。

那些年,我被Electron“深度教育”的日常
Chapter 1:打包?打包去哪儿?
每次我信心满满地敲下 npm run build,都感觉自己在进行一场庄严的电子占卜。

命令行开始滚动,我的心跳开始加速。
结果无非三种:

成功了!(概率堪比抽卡出SSR)
报错了但看得懂。(感恩戴德)
报了一屏五彩斑斓的错,重点信息宛如玩大家来找茬,最后发现是某个依赖的依赖的依赖在三年前就没人维护了。
那一刻,我觉得自己不是程序员,是考古学家,在代码的废墟里挖掘上古时期的版本冲突。

Chapter 2:路由?路在何方?
在浏览器里,路由切换行云流水,丝滑得像是德芙巧克力广告。
在Electron里,路由切换……像在泥潭里开推土机。

“为什么这个页面白屏了?”
“为什么跳过去回不来了?”
“为什么打包后路由它自己长腿跑偏了?”

我的日常,就是对着窗口里的空白,进行哲学三问:“我是谁?我在哪?我的页面呢?”
有时候甚至怀疑,是不是我电脑里住着一个调皮的小精灵,专门喜欢在我打包后把路由配置文件偷偷改掉。

Chapter 3:数据库?数“拒”库!
作为一个前端,我对数据库的认知曾经停留在“增删改查”四个大字上,天真得像个孩子。
直到我用Electron连数据库,现实给了我一记响亮的耳光。

“轻量级”的SQLite,配置起来像是给一艘航母装脚踏板。
“简单”的连接和迁移,报错信息写得像摩斯电码。
最绝的是,好不容易在开发环境跑通了,一打包——数据库它不见了! 或者说,它去到了一个我永远找不到的神秘文件夹里,比青春期孩子的心里话藏得还深。

我对着无法连接数据库的应用,和电脑屏幕上倒映出的、憔悴的自己,默默流下了两行技术泪。

反转时刻:打不过就“造”
在经历了第N+1次“项目成功,打包扑街”的惨案后,我悟了。
就像吃够了外卖的苦,终于决定自己学做饭。

我一边薅着所剩不多的头发,一边恶向胆边生:“这破架子,老子自己搭一个!”

于是,我开始了“闭门造轮子”的伟大(作死)计划。
目标很简单:把那些让我崩溃的坑,一次性全填平,铺上柏油,再画上清晰的双黄线!

打包配置
?我给你写成零配置,一键出包,支持“缝纫机”(Win)、 “苹果”(Mac)、 “企鹅”(Linux)全家桶。
路由迷茫
?我给你内置成无感模式,就像在写普通Web应用一样放肆,剩下的交给脚手架在背后当牛做马。
数据库神隐
?我给你自动初始化、自动找路径,应用装哪儿,数据库就跟到哪儿,比宠物狗还忠诚。
还有更新、菜单、窗口管理
……通通做成“自助餐”,你想要什么,开关打开就行,不用再从零开始刨坑。
这个过程,就像在游戏里给自己写外挂。一开始只是为了通关,后来发现——诶?这外挂好像能卖钱?

真香警告:从“坑哭”到“养活”
当我战战兢兢地把这个“自救脚手架”分享给几个同样被Electron“折磨”得面目全非的哥们儿时,反馈来了:

“卧槽!你早干嘛去了!”
“大哥,救了我狗命!”
“这东西,能收费吗?我想花钱买个省心!”

于是,一个为了解决自己痛苦的业余项目,阴差阳错地变成了一个小产品。
我从一个在Electron坑里躺平任嘲的倒霉蛋,变成了一个给别人递梯子的人。

现在,每当看到有人又在群里吐槽Electron打包的奇葩问题,我都会淡定地抿一口枸杞茶,缓缓打出一行字:
“试试我这个?专治各种不服。”

这个故事告诉我们一个朴素的道理:
程序员最伟大的动力,不是改变世界。
而是——“我实在受不了这破玩意儿了!”

当你被坑得足够深、足够痛,那个你亲手打造的“解决方案”,或许就成了别人眼里的“神器”。
而你自己,也终于可以从“被Electron坑哭”的受害者,进化成靠着它淡定养家的“真香”党。

(顺便,我的脚手架真的挺好用的,不信你……试试?【手动狗头】)

640