Vite + Electron 多页面应用:让 Vite 自动发现你的 HTML
前言
在开发具有多个窗口或视图的 Electron 应用时(例如主界面、设置页、关于页),我们通常会创建多个独立的 HTML 文件。标准的 Vite 配置要求我们在 vite.config.ts 的 build.rollupOptions.input 中为每一个 HTML 文件手动添加一个条目。
1 | |
这种方式在页面数量少时还能接受,但随着项目规模扩大,手动维护这个列表不仅变得异常繁琐,还极易出错——要么是忘记添加新页面,要么是路径写错。那么,有没有一种方法能让 Vite 自动发现并打包我们所有的 HTML 页面呢?
答案是肯定的!我们可以利用 Node.js 的能力,在 Vite 配置文件中动态扫描指定目录,自动生成入口配置。
解决方案:动态扫描与自动化配置
我们的核心思路是:
- 约定一个专门存放所有 HTML 页面的目录,例如
src/renderer/pages。 - 使用
glob这个强大的库来扫描该目录下的所有.html文件。 - 将扫描结果动态转换成 Vite 需要的
input对象格式。 - 将这个自动生成的对象注入到 Vite 的构建配置中。
步骤一:安装 glob
首先,我们需要将 glob 添加到项目的开发依赖中。
1 | |
步骤二:组织你的页面文件
为了让扫描更有效,建议采用清晰的目录结构。
1 | |
步骤三:改造 vite.config.ts
这是最关键的一步。我们将读取 pages 目录,并自动生成配置。
1 | |
优势总结
通过这种自动化配置,我们获得了巨大的好处:
- “即插即用”:未来你只需要在
src/renderer/pages目录下新建或删除 HTML 文件,Vite 会在下次构建时自动包含或排除它们,无需再触碰配置文件。 - 降低心智负担:开发者可以专注于页面逻辑的实现,而不必担心构建配置的同步问题。
- 减少人为错误:消除了手动添加路径时可能出现的拼写错误或遗漏。
- 项目更整洁:
vite.config.ts变得更加简洁和具有声明性,而不是一个冗长的文件列表。
对于任何需要处理多个页面的 Vite + Electron 项目来说,这都是一个强烈推荐的、能够显著提升开发体验和项目可维护性的最佳实践。
Vite + Electron 多页面应用:让 Vite 自动发现你的 HTML
https://blog.yonagi.top/2025/09/17/f9075d7b86ed/