news 2026/8/23 15:45:00

如何用 electron-builder 打包 Dat Desktop?跨平台安装包(AppImage/deb/NSIS/dmg)制作完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 electron-builder 打包 Dat Desktop?跨平台安装包(AppImage/deb/NSIS/dmg)制作完整指南

如何用 electron-builder 打包 Dat Desktop?跨平台安装包(AppImage/deb/NSIS/dmg)制作完整指南

【免费下载链接】dat-desktopPeer to peer data syncronization [ DEPRECATED - More info on active projects and modules at https://dat-ecosystem.org/ ]项目地址: https://gitcode.com/gh_mirrors/da/dat-desktop

Dat Desktop 是一款基于 Electron 的 P2P 数据同步桌面应用,本指南将带你用 electron-builder 为它一键制作跨平台安装包(AppImage / deb / NSIS / dmg),从零跑通「构建 → 打包 → 输出安装包」的完整流程 📦

打包原理:一次配置,三端通吃

Dat Desktop 的打包链路非常清晰:

  1. Webpack 编译:webpack.config.js 将 app/index.js 打包为static/bundle.js,入口指向主进程代码;
  2. Electron 主进程启动:index.js 创建BrowserWindow加载 index.html,通过 preload.js 安全地注入渲染进程;
  3. electron-builder 打包:读取 package.json 中的build字段,把整个应用打成各平台安装包。

好消息是——你不需要修改任何配置,所有平台目标都已在 package.json 里写好了。

build 字段关键配置一览

配置项作用
appIdland.dat.dat-desktop全局唯一应用标识
asartrue将代码压缩进 asar 归档,加速启动
directories.outputdist安装包统一输出到dist/目录
linux.targetAppImagedeb同时产出两种 Linux 包
mac/dmgicon.icns+ 拖拽布局macOS 磁盘镜像安装界面
win.targetNSISWindows 标准安装向导
protocolsdat协议注册 dat 链接协议

一键制作跨平台安装包:npm 命令速查

项目预置了 4 条打包脚本(见 package.json),新手只需记住dist

git clone https://gitcode.com/gh_mirrors/da/dat-desktop cd dat-desktop npm install npm run dist

完整命令清单:

命令作用
npm run pack仅生成解包目录--dir),适合调试,不产出安装程序
npm run dist生产构建 + 打包当前平台安装包
npm run dist:all一次打包Linux + macOS + Windows
npm run dist:publish打包并自动发布到 tag 或 GitHub Draft

所有命令都带--x64 --ia32参数,意味着每个平台会同时产出 64 位和 32 位两种架构的安装包。

💡 注意:npm run dist会先执行build:prod(生产模式 Webpack 编译),再调用 electron-builder,所以一条命令即可完成全部工作。

各平台安装包输出详解

打包结束后,打开dist/目录,你会看到按平台分组的产物:

Linux:AppImage 与 deb 双格式

  • AppImage:免安装、双击即跑,适合大多数用户;
  • deb:Debian/Ubuntu 系标准软件包,可通过apt安装,synopsis描述为 "Dat Desktop App"(见 package.json)。

macOS:dmg 镜像与拖拽安装体验

Mac 端会生成.dmg磁盘镜像。项目还精心配置了安装窗口布局(package.json):应用图标固定在左侧,右侧是/Applications快捷方式,用户只需「拖拽安装」。

Windows:NSIS 安装向导

Windows 端使用 NSIS 技术生成.exe安装程序,附带标准安装向导与build/icon.png图标(见 package.json)。

常见问题排错清单 🛠

Electron 下载太慢?

项目 README.md 的 FAQ 给出了答案——设置镜像变量再安装:

ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" npm install

打包后启动异常?

主进程在 index.js 中会根据NODE_ENV区分开发/生产模式:生产模式下自动加载preload.js并启动 lib/auto-updater.js 自动更新模块(每 30 分钟检查一次新版本)。若本地 Node 版本与 Electron 内置版本不一致,控制台会输出 WARNING 提示,建议执行nvm install对齐版本。

测试模式下为什么看不到 preload?

出于 Spectron 兼容考虑(index.html),测试环境通过 URL hash#test直接加载 bundle,属于正常设计。

小结

  • 全部配置集中在 package.json 的build字段,开箱即用;
  • 一条npm run dist命令即可完成生产构建 + 双架构安装包输出;
  • 产物统一位于dist/,覆盖 Linux(AppImage/deb)、macOS(dmg)、Windows(NSIS)三大平台。

掌握这套流程后,任何 Electron 项目的跨平台打包问题都能迎刃而解 🎉

【免费下载链接】dat-desktopPeer to peer data syncronization [ DEPRECATED - More info on active projects and modules at https://dat-ecosystem.org/ ]项目地址: https://gitcode.com/gh_mirrors/da/dat-desktop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 15:42:02

PuPHPet功能清单:24+中间件一键配置,覆盖PHP/MySQL/Redis/Nginx

PuPHPet功能清单:24中间件一键配置,覆盖PHP/MySQL/Redis/Nginx 【免费下载链接】puphpet Vagrant/Puppet GUI 项目地址: https://gitcode.com/gh_mirrors/pu/puphpet PuPHPet 是一款基于 Vagrant 和 Puppet 的图形化虚拟机配置工具(GU…

作者头像 李华
网站建设 2026/8/23 15:40:47

如何快速上手Rtree:5分钟掌握Python空间索引基础

如何快速上手Rtree:5分钟掌握Python空间索引基础 【免费下载链接】rtree Rtree: spatial index for Python GIS 项目地址: https://gitcode.com/gh_mirrors/rtr/rtree Rtree 是一款面向 GIS 开发者的 Python 空间索引库,它是 libspatialindex 的 …

作者头像 李华
网站建设 2026/8/23 15:39:01

numpy-stl完全指南:如何快速处理STL文件与3D对象

numpy-stl完全指南:如何快速处理STL文件与3D对象 【免费下载链接】numpy-stl Simple library to make working with STL files (and 3D objects in general) fast and easy. 项目地址: https://gitcode.com/gh_mirrors/nu/numpy-stl numpy-stl 是一个简单而强…

作者头像 李华
网站建设 2026/8/23 15:34:38

3分钟把原神成就导出到8种格式:YaeAchievement 实战指南

3分钟把原神成就导出到8种格式:YaeAchievement 实战指南 【免费下载链接】YaeAchievement 更快、更准的原神数据导出工具 项目地址: https://gitcode.com/gh_mirrors/ya/YaeAchievement 晚上十一点半,小夏盯着原神的成就面板,切一个分…

作者头像 李华