mirror of
https://github.com/alex8088/electron-vite.git
synced 2026-11-02 06:42:22 +08:00
`ChildProcess`'s `close` event fires as `(code, signal)` and `code` is null when the child was terminated by a signal. `process.exit` ignores its second argument and coerces null to 0, so passing the listener directly reports every signal death as a successful exit. Handle the two arguments explicitly so a signal death exits non-zero. |
||
|---|---|---|
| .github | ||
| .vscode | ||
| bin | ||
| scripts | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.yaml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| eslint.config.js | ||
| LICENSE | ||
| node.d.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| rollup.config.ts | ||
| tsconfig.json | ||
electron-vite
Next generation Electron build tooling based on Vite
Documentation | Getting Started | create-electron
Features
- ⚡️ Vite powered and use the same way.
- 🛠 Pre-configure with sensible defaults optimized for Electron.
- 💡 Optimize asset handling for Electron main process.
- 🚀 Fast HMR & hot reloading.
- 🔥 Isolated build for multi-entry application development.
- ✨ Simplify multi-threading development.
- 🔒 Compile code to v8 bytecode to protect source code.
- 🔌 Easy to debug in IDEs such as VSCode or WebStorm.
- 📦 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@latest
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