mirror of
https://github.com/alex8088/electron-vite.git
synced 2026-11-02 14:51:51 +08:00
Add a *?raw module declaration to electron-vite/node so raw file imports in the main and preload processes are typed as string. Keep runtime behavior unchanged. Add an isolated consumer fixture to pnpm typecheck. Verify that raw imports are strings and reject Buffer assignments so an accidental any declaration cannot pass the regression check. Fixes #893. |
||
|---|---|---|
| .github | ||
| .vscode | ||
| bin | ||
| scripts | ||
| src | ||
| tests/types | ||
| .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