文章
问答
冒泡
使用Electron与Tauri创建并且打包桌面应用

Electron

Electron 有着其强大的跨端能力、社区生态,更重要的是可以直接使用 HTML + JS + CSS 来开发桌面端应用程序,这对前端来说是非常容易上手的,也有着无与伦比的开发效率和平滑的学习曲线。但是 Electron 也有着天然的短板,比如包体积和 CPU 资源占用较高。

首先安装官网文档上手 https://www.electronjs.org/zh/docs/latest/tutorial/quick-start 按照步骤创建一个electron应用。

在进行yarn add --dev electron 时,经常会遇到安装失败的问题,虽然已经换源但是下载成功率还是不高。(此时我就去尝试了Tauri,下载很流畅)

解决方法:给electron都设置镜像

如果本身npm已经设置淘宝镜像了,electron也是需要设置一下淘宝镜像

给electron设置淘宝镜像

npm config set electron_mirror "https://npmmirror.com/mirrors/electron/"

打开npm的配置文件 npm config edit

registry=https://registry.npmmirror.com
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/

然后执行 npm cache clean --force

打包问题

使用官方教程推荐的 《使用 Electron Forge 分发应用程序》https://www.electronjs.org/zh/docs/latest/tutorial/%E6%89%93%E5%8C%85%E6%95%99%E7%A8%8B 过程及其坎坷。其中使用pnpm以及yarn安装的forge都存在引用问题,尝试各种办法无果,换用npm安装可以无报错打包

    踩坑yarn安装forge的make包遇到的相关问题,出现了 @electron/fuses 模块不兼容当前版本的 @electron-forge/plugin-fuses 。换用换源之后的npm或者pnpm安装forge相关包,之后再make可以构建成功。

官网用 @electron-forge/cli 坑比较多,只能在issue里慢慢查。

可以尝试使用electron-builder https://github.com/electron-userland/electron-builder

electron项目资源整合

★electron+vue

【GitHub】https://github.com/umbrella22/electron-vue-template #(NoLayOut分支为vite)

【Gitee】https://gitee.com/Zh-Sky/electron-vue-template #(NoLayOut分支为vite)

【Gitee】https://gitee.com/w3cjs/vite-vue2-electron

【GitHub】https://github.com/mlmdflr/xps-electron-vue-template

★electron+react

【GitHub】https://github.com/umbrella22/electron-react-template

【Gitee】https://gitee.com/Zh-Sky/electron-react-template

【GitHub】https://github.com/TaiAiAc/electron-react-template

★electron+vite+vue3

【GitHub】https://github.com/umbrella22/electron-vite-template

【Gitee】https://gitee.com/Zh-Sky/electron-vite-template

【GitHub】https://github.com/hyroge/vite-vue-electron

【GitHub】https://github.com/im-oxygen/vite-template-vue-ts-electron

【Gitee】https://gitee.com/TaiAi/electron-vue3-quiet

【Github】https://github.com/TaiAiAc/electron-vue3-quiet

★electron+原生

【GitHub】https://github.com/youliso/electron-template

★vite-ts-quick

【GitHub】https://github.com/pohunchn/vite-ts-quick

Tauri

    Tauri 构建的桌面程序太小了,远不是 Electron.JS 可以相比的,因为它放弃了体积巨大的 Chromium 内核 和 nodejs,前端使用操作系统的 webview,后端集成了 Rust。 Tauri 提供了初始化程序的模板,比如原生js, react, svelte.js, vue.js 等等。

预先准备

首先需要安装 Rust 及其他系统依赖。 https://tauri.app/zh-cn/v1/guides/getting-started/prerequisites

Rust创建项目很友好,只需要按照提示一步一步选择然后运行就好。

打包

yarn tauri build

正常来说会出现警告

解决:Rust crates 国内镜像源加速配置

  1. 找到当前用户目录下 /Users/baoyachi/.cargo/.cargo 文件夹

  2. 进入.cargo 当前目录,在当前目下创建 config 文件

  3. 打开 config 文件,编写以下内容:

    [source.crates-io]
    # 替换成你偏好的镜像源
    replace-with = 'rsproxy'

    # 清华大学 5mb
    [source.tuna]
    registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

    # 中国科学技术大学 2mb
    [source.ustc]
    registry = "https://mirrors.ustc.edu.cn/crates.io-index"
    # 上海交通大学 2mb
    [source.sjtu]
    registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

    # rustcc社区 2mb
    [source.rustcc]
    registry = "https://crates.rustcc.cn/crates.io-index"
    # 字节跳动 10mb
    [source.rsproxy]
    registry = "https://rsproxy.cn/crates.io-index"

    打包成功

这次尝试,只是从 web 层,并没有涉及系统 后端,需要学一些 rust 相关的知识。若单纯 web 程序打包,使用 tauri 会更小,若熟悉 node.js api 的还是推荐 electron.js

electron
tauri

关于作者

却黑
社恐
获得点赞
文章被阅读