Go to file
2022-07-08 10:23:04 +08:00
.github chore:update help_wanted.md 2022-07-02 22:24:47 +08:00
.vscode chore: update vscode recommendations 2022-05-04 16:48:13 +08:00
electron types.d.ts -> electron/electron-env.d.ts 2022-07-02 22:28:05 +08:00
public add electron-vite-vue.gif, node.png 2022-06-14 20:29:53 +08:00
src chore: use postMessage instead of window.removeLoading 2022-06-29 08:36:58 +08:00
.gitignore update 2022-06-14 21:14:21 +08:00
CHANGELOG.md log: adjustment order 2022-06-17 08:51:59 +08:00
electron-builder.json5 json -> json5 2022-04-12 09:20:42 +08:00
index.html template-vue-ts 2022-06-13 22:10:18 +08:00
LICENSE chore: license 2021-11-04 14:26:18 +08:00
package.json chore: bump deps 2022-07-08 10:23:04 +08:00
README.md docs: 🚨 ESM packages 2022-07-02 22:17:47 +08:00
tsconfig.json template-vue-ts 2022-06-13 22:10:18 +08:00
tsconfig.node.json chore:update tsconfig.node.json include 2022-07-02 22:26:09 +08:00
vite.config.ts chore: remove useless option 2022-07-02 22:29:21 +08:00

electron-vite-vue

🥳 Really simple Electron + Vue + Vite boilerplate.

awesome-vite Netlify Status GitHub license GitHub stars GitHub forks

Features

📦 Out of the box
🎯 Based on the official vue-ts template, less invasive
🌱 Extensible, really simple directory structure
💪 Support using Node.js API in Electron-Renderer
🔩 Support C/C++ native addons
🖥 It's easy to implement multiple windows

Quick Start

npm create electron-vite

electron-vite-vue.gif

Debug

electron-vite-react-debug.gif

Directory

+ ├─┬ electron
+ │ ├─┬ main
+ │ │ └── index.ts    entry of Electron-main
+ │ └─┬ preload
+ │   └── index.ts    entry of Electron-preload
  ├─┬ src
  │ └── main.ts       entry of Electron-renderer
  ├── index.html
  ├── package.json
  └── vite.config.ts

🚨 dependencies vs devDependencies

Put Node.js packages in dependencies

e.g. electron-store sqlite3 serilaport mongodb ...others

Put Web packages in devDependencies

e.g. vue vue-router vuex pinia element-plus ant-design-vue axios ...others

See more 👉 dependencies vs devDependencies

🚨 ESM packages

e.g. node-fetch execa got ...others

  1. npm i vite-plugin-esmodule -D
  2. Configure in vite.config.ts
import esmodule from 'vite-plugin-esmodule'
export default {
  plugins: [
    esmodule(['got', 'execa', 'node-fetch']),
  ],
}