electron-vite

Next generation Electron build tooling based on Vite
GitHub
3.64k
Created 3 years ago, last commit a month ago
9 contributors
240 commits
Stars added on GitHub, month by month
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
Stars added on GitHub, per day, on average
Yesterday
+3
Last week
+3.4
/day
Last month
+3.7
/day
Last 12 months
+4.8
/day
npmPackage on NPM
Monthly downloads on NPM
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
README

electron-vite

Next generation Electron build tooling based on Vite

license

Documentation | Getting Started | create-electron

中文文档



Features

  • ⚡️ Vite powered and use the same way.
  • 🛠 Pre-configured for Electron, don't worry about configuration.
  • 💡 Optimize asset handling (Node.js addons, WebAssembly, Worker Thread, etc).
  • 🚀 Fast HMR for renderer processes.
  • 🔥 Hot reloading for main process and preload scripts.
  • 🔌 Easy to debug in IDEs like VSCode or WebStorm.
  • 🔒 Compile to v8 bytecode to protect source code.
  • 🏷️ Support for TypeScript decorators.
  • 📦 Out-of-the-box support for TypeScript, Vue, React, Svelte, SolidJS and more.

Usage

Install

npm i electron-vite -D

Development & Build

In a project where electron-vite is installed, you can use electron-vite binary directly with npx electron-vite or add the npm scripts to your package.json file like this:

{
  "scripts": {
    "start": "electron-vite preview",
    "dev": "electron-vite dev",
    "prebuild": "electron-vite build"
  }
}

Configuration

When running electron-vite from the command line, electron-vite will automatically try to resolve a config file named electron.vite.config.js inside project root. The most basic config file looks like this:

// electron.vite.config.js
export default {
  main: {
    // vite config options
  },
  preload: {
    // vite config options
  },
  renderer: {
    // vite config options
  }
}

Getting Started

Clone the electron-vite-boilerplate or use the create-electron tool to scaffold your project.

npm create @quick-start/electron

Currently supported template presets include:

JavaScript TypeScript
vanilla vanilla-ts
vue vue-ts
react react-ts
svelte svelte-ts
solid solid-ts

Contribution

See Contributing Guide.

License

MIT © alex.wei