electron-vite-react

This boilerplate has been copied from https://github.com/electron-vite/electron-vite-react

awesome-vite GitHub stars GitHub issues GitHub license Required Node.JS >= 14.18.0 || >=16.0.0

👀 Overview

📦 Ready out of the box
🎯 Based on the official template-react-ts, project structure will be familiar to you
🌱 Easily extendable and customizable
💪 Supports Node.js API in the renderer process
🔩 Supports C/C++ native addons
🐞 Debugger configuration included
🖥 Easy to implement multiple windows

🛫 Quick start

npm create electron-vite

electron-vite-react.gif

🐞 Debug

electron-vite-react-debug.gif

📂 Directory structure

Familiar React application structure, just with electron folder on the top 😉
Files in this folder will be separated from your React application and built into dist/electron

├── electron                  Electron-related code
│   ├── main                  Main-process source code
│   ├── preload               Preload-scripts source code
│   └── resources             Resources for the production build
│       ├── icon.icns             Icon for the application on macOS
│       ├── icon.ico              Icon for the application
│       ├── installerIcon.ico     Icon for the application installer
│       └── uninstallerIcon.ico   Icon for the application uninstaller
│
├── release                   Generated after production build, contains executables
│   └── {version}
│       ├── {os}-unpacked     Contains unpacked application executable
│       └── Setup.{ext}       Installer for the application
│
├── public                    Static assets
└── src                       Renderer source code, your React application

🚨 Be aware

This template integrates Node.js API to the renderer process by default. If you want to follow Electron Security Concerns you might want to disable this feature. You will have to expose needed API by yourself.

To get started, remove the option as shown below. This will modify the Vite configuration and disable this feature.

# vite.config.ts

electron({
- renderer: {}
})

❔ FAQ