Skip to content

electron-vite 2.0 发布了!

January 09, 2024

electron-vite 2 Announcement Cover Image

electron-vite 是一个新型构建工具,旨在为 Electron 提供更快、更精简的开发体验。

electron-vite 1.0 发布一年多了,已经逐渐成为 Electron 开发生态的一部分。得益于 Vite 优秀的性能和开发体验。在此基础上,electron-vite 做了很多设计和优化工作,使其对 Electron 开发更加友好,例如热重载源代码保护调试资源处理优化等。此外,还发布了新的文档来帮助开发者,你可以前往 cn.electron-vite.org 查看阅读,并且还提供了 create-electron 模板来帮助你使用你喜欢的框架(例如 VueReactSvelteSolid)来搭建 Electron 项目。

今天,electron-vite 2.0 正式发布了! electron-vite 现在可以正确支持 Vite 5 并支持 Electron 的 ESM。

快速链接:

如果你是 electron-vite 的新手,我们建议你首先阅读入门开发指南。

快速开始使用 electron-vite 2

你可以使用 npm create @quick-start/electron 用你喜欢的框架快速搭建 Electron 项目。

兼容性说明

  • electron-vite 不再支持已 EOL 的 Node.js 14 / 16 / 17 / 19。现在需要 Node.js 18 / 20+。
  • electron-vite 现已发布为 ESM,并且 CJS 导出将在 3.0 版本中删除,因为 Vite 6 将不再支持 CJS。

对于大多数项目来说,electron-vite 2 的更新应该是直接的。如果你遇到问题,你可以阅读 故障排除指南

Vite 5 支持

electro-vite 2 现在可以正确支持 Vite 5。如果你要升级到 Vite 5,建议在升级之前查看 Vite 的迁移指南。此外,electron-vite 2 删除了对 Vite 3 的兼容性支持。

性能

在 Vite 5 的构建性能改进之上,electron-vite 2 为主进程和预加载脚本启用了 Vite 的 SSR 构建,跳过了一些现代 Web 插件,并进行了一些优化,例如 package.json 缓存,从而提高了构建性能并且更适合 Electron。 ​

Electron ESM 支持

Electron 从 Electron 28 开始支持 ES 模块。 electron-vite 2.0 同样支持使用 ESM 来开发和构建你的 Electron 应用程序。

要让 electron-vite 启用 ESM 有两种方式,添加 "type": "module" 到最近的 package.json,或在配置文件中设置 build.rollupOptions.output.formates。 但在此之前,你需要先阅读 迁移至 ESM 指南。

electron-vite 对 ES 模块 和 CommonJS 语法做了一定的兼容性处理,允许开发者以最少的迁移工作在两种语法之间自由切换。但需要注意的是,源代码保护 目前仅支持 CommonJS。

传递参数给 Electron

在 electron-vite 2.0 中,向 Electron 应用程序传递参数非常简单。你可以在 electron-vite CLI 之后附加一个 -- 以及要传递的参数。

json
"scripts": {
  "dev": "electron-vite dev -- p1 p2"
}
"scripts": {
  "dev": "electron-vite dev -- p1 p2"
}

了解更多有关 传递参数给 Electron 应用程序 的信息。

环境变量

electron-vite 现在可以在主进程和渲染进程间共享环境变量。以 VITE_ 为前缀的变量将暴露给所有进程。

SOME_KEY=123           # 无效变量
MAIN_VITE_KEY=123      # 仅主进程可用
PRELOAD_VITE_KEY=123   # 仅预加载脚本可用
RENDERER_VITE_KEY=123  # 仅渲染进程可用
VITE_KEY=123           # 所有进程可用 
SOME_KEY=123           # 无效变量
MAIN_VITE_KEY=123      # 仅主进程可用
PRELOAD_VITE_KEY=123   # 仅预加载脚本可用
RENDERER_VITE_KEY=123  # 仅渲染进程可用
VITE_KEY=123           # 所有进程可用 

最后更新时间:

Released under the MIT License