Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alex8088/electron-vite
Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护
https://github.com/alex8088/electron-vite
bytecode electron hmr hot-reloading node-worker source-code-protection typescript-decorator vite
Last synced: 4 days ago
JSON representation
Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护
- Host: GitHub
- URL: https://github.com/alex8088/electron-vite
- Owner: alex8088
- License: mit
- Created: 2022-02-09T08:54:54.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-11T15:49:02.000Z (3 months ago)
- Last Synced: 2025-01-21T03:01:45.618Z (12 days ago)
- Topics: bytecode, electron, hmr, hot-reloading, node-worker, source-code-protection, typescript-decorator, vite
- Language: TypeScript
- Homepage: https://electron-vite.org
- Size: 342 KB
- Stars: 3,762
- Watchers: 22
- Forks: 163
- Open Issues: 66
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- fucking-awesome-vite - electron-vite - An Electron CLI integrated with Vite. (Plugins / Electron)
- awesome-electron - electron-vite - Fast and easy-to-use build tool integrated with Vite. (Tools / For Electron)
- awesome-vite - electron-vite - An Electron CLI integrated with Vite. (Plugins / Electron)
- awesome - alex8088/electron-vite - Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护 (TypeScript)
- awesome - alex8088/electron-vite - Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护 (TypeScript)
README
electron-vite
Next generation Electron build tooling based on Vite
Documentation |
Getting Started |
create-electron
## Features
- ⚡️ [Vite](https://vitejs.dev) 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
```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": {
"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:
```js
// 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](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.
```bash
npm create @quick-start/electron
```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) |## Contribution
See [Contributing Guide](CONTRIBUTING.md).
## License
[MIT](./LICENSE) © alex.wei