2022-08-20 14:16:11 +02:00
< p align = "center" >
< img src = "https://alex8088.github.io/assets/electron-vite.svg" width = "150px" height = "150px" >
< / p >
< div align = "center" >
< h1 > electron-vite< / h1 >
< / div >
< p align = "center" > Next generation Electron build tooling based on Vite< / p >
2022-03-17 09:21:02 +01:00
2022-08-20 14:16:11 +02:00
< p align = "center" >
< img src = "https://img.shields.io/npm/v/electron-vite?color=6988e6&label=version" >
< img src = "https://img.shields.io/github/license/alex8088/wx-vue-next?color=blue" alt = "license" / >
2022-03-17 09:21:02 +01:00
< / p >
2022-08-20 14:16:11 +02:00
< p align = "center" >
< a href = "https://evite.netlify.app/" > Documentation< / a > |
< a href = "https://evite.netlify.app/guide/" > Getting Started< / a > |
< a href = "https://github.com/alex8088/quick-start/tree/master/packages/create-electron" > create-electron< / a >
< / p >
2022-04-09 12:59:43 +02:00
2022-08-20 14:16:11 +02:00
< p align = "center" >
< a href = "https://cn-evite.netlify.app/" > 中文文档< / a >
< / p >
2022-03-17 09:21:02 +01:00
2022-08-20 14:16:11 +02:00
< br / >
< br / >
2022-03-17 09:21:02 +01:00
## Features
2023-01-07 06:23:15 +01:00
- ⚡️ [Vite ](https://vitejs.dev ) powered and use the same way.
2023-05-15 17:14:33 +02:00
- 🛠 Pre-configured for Electron, don't worry about configuration.
- 💡 Optimize asset handling (Node.js addons, WebAssembly, Worker Thread, etc).
- 🚀 Fast HMR for renderer processes.
2022-11-11 17:18:46 +01:00
- 🔥 Hot reloading for main process and preload scripts.
2023-05-15 17:14:33 +02:00
- 🔌 Easy to debug in IDEs like VSCode or WebStorm.
2022-11-11 17:18:46 +01:00
- 🔒 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.
2022-03-17 09:21:02 +01:00
## Usage
### Install
```sh
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:
```json
{
"scripts": {
2022-08-20 14:16:11 +02:00
"start": "electron-vite preview",
"dev": "electron-vite dev",
"prebuild": "electron-vite build"
2022-03-17 09:21:02 +01:00
}
}
```
2023-05-15 17:14:33 +02:00
### Configuration
2022-03-17 09:21:02 +01:00
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:
```js
// electron.vite.config.js
export default {
main: {
// vite config options
},
preload: {
// vite config options
},
renderer: {
// vite config options
}
}
```
2022-08-20 14:16:11 +02:00
### Getting Started
2022-03-17 09:21:02 +01:00
2022-08-20 14:16:11 +02:00
Clone the [electron-vite-boilerplate ](https://github.com/alex8088/electron-vite-boilerplate ) or use the [create-electron ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron ) tool to scaffold your project.
2022-03-17 09:21:02 +01:00
2022-08-20 14:16:11 +02:00
```bash
2023-05-15 17:14:33 +02:00
npm create @quick -start/electron
2022-03-17 09:21:02 +01:00
```
2023-05-15 17:14:33 +02:00
Currently supported template presets include:
| JavaScript | TypeScript |
| :--------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: |
| [vanilla ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/vanilla ) | [vanilla-ts ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/vanilla-ts ) |
| [vue ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/vue ) | [vue-ts ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/vue-ts ) |
| [react ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/react ) | [react-ts ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/react-ts ) |
| [svelte ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/svelte ) | [svelte-ts ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/svelte-ts ) |
| [solid ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/solid ) | [solid-ts ](https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/solid-ts ) |
2022-08-20 14:16:11 +02:00
## Contribution
2022-03-17 09:21:02 +01:00
2022-08-20 14:16:11 +02:00
See [Contributing Guide ](CONTRIBUTING.md ).
2022-03-17 09:21:02 +01:00
## License
2022-04-18 16:37:07 +02:00
[MIT ](./LICENSE ) © alex.wei