使用 Vite 构建 Vue + TypeScript + Electron 桌面应用
又是心血来潮想学前端,然后搞个桌面应用出来,这篇文章学习和记录一下基本操作。
0 准备工作
首先,需要安装 Node.js,对于 Mac 来说:
> brew install node@18 |
之后,需要将路径添加到终端配置文件中,对于 zsh 来说就是 .zprofile
或者 .zshrc
:
# Set PATH for Node.js. |
对于国内用户,brew 可以切换到国内清华源,加到 .zprofile
或者 .zshrc
:
# Set PATH, MANPATH, etc., for Homebrew. |
npm 可以切换至国内淘宝源,加到 .npmrc
:
registry=https://registry.npmmirror.com/ |
1 使用 Vite 创建 Vue + TypeScript 项目
一行命令:
> npm create vite@latest my-vue-app -- --template vue-ts |
之后,执行:
> cd my-vue-app |
在浏览器中打开 URL 就可以看到项目了:
2 使用 Electron 加载项目
一行命令:
> npm install electron -D |
之后,在项目根目录下创建 electron/
,从 Quick Start | Electron (electronjs.org) 抄来 main.ts
和 preload.ts
放到里面。
其中,main.ts
修改:
// mainWindow.loadFile(path.join(__dirname, 'index.html')) |
另外,vite.config.ts
修改:
export default defineConfig({ |
最后,安装 concurrently 和 wait-on:
> npm install concurrently wait-on -D |
并且,package.json
修改:
"main": "electron/main.ts", |
此时,执行:
> npm run electron:serve |
就可以看到项目了:
而且,对 HelloWorld.vue
的修改会实时渲染到 Electron 中。
3 使用 Electron 打包项目
首先,main.ts
修改:
const NODE_ENV = process.env.NODE_ENV |
其次,vite.config.ts
修改:
export default defineConfig({ |
最后,安装 cross-env 和 electron-builder:
> npm install cross-env electron-builder -D |
并且,package.json
修改:
{ |
此时,执行:
> npm run electron:build |
就可以在 dist-electron\
目录下看到打包好的应用了: