Electron-Vite-Vue-App
Primary
```
效果:

可以看到Element Plus的el-button组件正常显示出来了,之后我们就可以正常使用Element Plus来编写页面了
##### 按需引入:
全局引入Element Plus,进行项目构建时,会默认把所有的组件打包进去,导致文件体积比较大,如下:

这对于嵌入式项目是不能容忍的,所以我们要考虑使用按需引入组件的方式:
需要安装按需引入插件:
```sh
npm install -D unplugin-vue-components unplugin-auto-import
```
然后`vite.config.ts`文件中配置:
```ts
// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
// ...
plugins: [
// ...
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
})
```
然后去除App.vue里的全局引入,接着预览工程:

会发现`ElMessageBox`组件的样式丢失了,针对这样的情况,我们需要手动在main.ts里引入一下样式:
```ts
// 手动引入element-plus的css文件
import "element-plus/theme-chalk/el-message-box.css";
```
缺失什么样式就补什么样式文件,效果:

在次构建代码:

可以看到编译产物小了很多。
#### 2.引入Axios与ESP32通信
Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。Axios 使用简单,包尺寸小且提供了易于扩展的接口。
安装:`pnpm i axios `
使用:我们在App.vue里简单调用一下Axios来与ESP32通信

ESP32的程序里提供了三个可供访问的路径,这里我们简单测试访问一下`/api/v1/system/info`:
```vue
// App.veu