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,
- }),
],
}