An Electron + Vue 3 starter project setup with Vite, Typescript, Vue-Router, Pinia, Eslint, Prettier, Tailwind CSS, and some custom preferences.
This repository is an extended version of the simple one.
📦 Out of the box
🎯 Based on the official template-vue-ts, 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
🚀 configured with Eslint & Prettier
🚀 Vue router support
🚀 Pinia state management
🚀 TailwindCSS (Dark mode support)
🚀 VueUse
🚀 Easy dependency update with taze
🚀 I18n support - multiple locales
npm i
or,
pnpm i --shamefully-hoist
In development mode,
npm run app:dev
or,
pnpm run app:dev
In preview mode,
npm run app:preview
or,
pnpm run app:preview
To build for production,
npm run app:build
or,
pnpm run app:build
+ ├─┬ electron
+ │ ├─┬ main
+ │ │ └── index.ts entry of Electron-Main
+ │ └─┬ preload
+ │ └── index.ts entry of Preload-Scripts
├─┬ src
│ └── main.ts entry of Electron-Renderer
├── index.html
├── package.json
└── vite.config.ts
🚨 By default, this template integrates Node.js in the Renderer process. If you don't need it, you just remove the option below. Because it will modify the default config of Vite.
# vite.config.ts
export default {
plugins: [
- // Use Node.js API in the Renderer-process
- renderer({
- nodeIntegration: true,
- }),
],
}