Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护
Find a file
2022-08-20 20:38:29 +08:00
.github chore: Vite to electron-vite 2022-04-09 16:13:53 +08:00
.vscode chore: init 2022-03-17 16:21:02 +08:00
bin chore: init 2022-03-17 16:21:02 +08:00
scripts fix: commit verify error 2022-05-26 23:04:36 +08:00
src feat: define env prefix 2022-08-20 20:33:14 +08:00
.editorconfig chore: init 2022-03-17 16:21:02 +08:00
.eslintignore chore: init 2022-03-17 16:21:02 +08:00
.eslintrc.js chore: init 2022-03-17 16:21:02 +08:00
.gitignore chore: init 2022-03-17 16:21:02 +08:00
.prettierignore chore: init 2022-03-17 16:21:02 +08:00
.prettierrc.yaml chore: init 2022-03-17 16:21:02 +08:00
api-extractor.json chore: init 2022-03-17 16:21:02 +08:00
CHANGELOG.md release: v1.0.5 2022-08-20 20:38:29 +08:00
CODE_OF_CONDUCT.md chore: init 2022-03-17 16:21:02 +08:00
CONTRIBUTING.md chore: update contributing 2022-07-03 15:31:37 +08:00
LICENSE chore: init 2022-03-17 16:21:02 +08:00
package.json release: v1.0.5 2022-08-20 20:38:29 +08:00
pnpm-lock.yaml chore: update deps 2022-04-27 00:00:33 +08:00
README.md docs: update 2022-08-20 20:18:23 +08:00
tsconfig.json chore: init 2022-03-17 16:21:02 +08:00

electron-vite

Next generation Electron build tooling based on Vite

license

Documentation | Getting Started | create-electron

中文文档



Features

  • Inherit all the benefits of Vite and use the same way as Vite.
  • 📦The main process, renderers and preload scripts are all built with Vite.
  • 🛠The main process, renderers and preload scripts Vite configuration combined into one file.
  • 💡Pre-configured for Electron, don't worry about configuration.
  • 🚀HMR for renderer processes.

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"
  }
}

Configuring

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
  }
}

Use HMR in Renderer

In order to use the renderer process HMR, you need to use the environment variables to determine whether the window browser loads a local html file or a local URL.

function createWindow() {
  // Create the browser window
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, '../preload/index.js')
    }
  })

  // Load the remote URL for development or the local html file for production
  if (!app.isPackaged && process.env['ELECTRON_RENDERER_URL']) {
    mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])
  } else {
    mainWindow.loadFile(path.join(__dirname, '../renderer/index.html'))
  }
}

Getting Started

Clone the electron-vite-boilerplate or use the create-electron tool to scaffold your project.

npm init @quick-start/electron

Contribution

See Contributing Guide.

License

MIT © alex.wei