nodejs桌面应用开发

发布日期:2025-10-10 22:17浏览次数:

那天翻抽屉找硬盘,突然发现以前存的笔记全都乱糟糟的,想着搞个桌面软件专门管这些玩意儿。网上搜了一圈,JavaScript还能写桌面应用?我电脑里正好装着VS Code,干脆直接拿nodejs开整。

开工前折腾环境

撸起袖子打开cmd,噼里啪敲了个npm init,看着命令行里蹦出来一堆提问,文件名版本号瞎填一通先。扭头去装electron,复制粘贴npm install electron --save-dev,结果卡在网速上转圈圈。等得我泡了碗面吃完,进度条才蹭过一半。

好不容易装完,赶紧试跑npm start。好家伙!直接弹出个黑乎乎的大窗口,中间还挂着两行英文报错。查文档才知道得在*里加段启动配置:

  • "main": "*"
  • "start": "electron ."

和空白窗口干架

新建个*文件,抄官网例子塞进去。再启动这回不报错了,可窗口比脸还干净。折腾半天才搞明白,得在之前先建个html文件。随手编了个*,塞进去"hello world",总算看见字儿了!

想给窗口加个最小化按钮,翻文档找到frame: false参数。关掉边框后傻眼了——整个标题栏消失,窗口卡在屏幕中间拖都拖不动。只能自己用div搓了个标题栏,绑上*('window-min')才把最小化功能怼回去。

跟文件系统较劲

核心功能是存笔记,在html里放个textarea就开始写读写逻辑。结果浏览器安全机制直接拦截require('fs'),报错红得刺眼。查了俩小时方案,用把读写方法暴露给前端,再在前端用绕个大弯子才搞定。

刚把数据存进txt文件,测试时手贱连点了三次保存按钮。好么,打开txt发现内容重复了三遍!赶紧加了个防抖逻辑,每次点保存时先禁用按钮300毫秒。

打包差点气吐血

功能跑通后美滋滋点开electron-builder打包。130MB的安装包给我看懵了,这还没塞图片!试着把没用到的node_module全删了,结果启动直接崩溃。发现得在*里手动配asar:true和排除列表,折腾到凌晨三点才压到90MB。

现在每次打开这软件,标题栏的自制按钮还会偶尔抽搐两下。不过看到右下角定时弹出来的"你已经写了两小时该休息了"提醒,还是有点小得意的——这行提醒代码是我半夜三点半饿醒时加的泡面闹钟功能。

如果您有什么问题,欢迎咨询技术员 点击QQ咨询