Go to file
2021-09-01 08:28:02 +08:00
blog chore: UPDATE wx qrcode 2021-09-01 08:28:02 +08:00
screenshot chore: UPDRTE 2021-02-19 14:26:29 +08:00
script feat: supported preload rollup package 2021-08-05 09:25:34 +08:00
src chore: add comment 2021-08-05 09:26:40 +08:00
typings refactor: inject process.env.NODE_ENV 2021-07-10 08:51:15 +08:00
.env npm run dev:all :) 2020-08-16 20:42:52 +08:00
.gitignore chore: UPDATE 2021-05-30 07:50:29 +08:00
.npmrc chore: remove taobao electron_mirror 2021-07-04 18:00:36 +08:00
note.md chore: UPDATE 2021-05-30 08:24:29 +08:00
package.json chore: update dependencies 2021-08-12 12:57:31 +08:00
README.md chore: Add WX group chat 2021-06-20 19:10:27 +08:00
tsconfig.json fix: tsconfig support ESM 2021-07-19 08:47:16 +08:00
vite.config.ts chore: update dependencies 2021-08-12 12:57:31 +08:00
yarn.lock chore: update dependencies 2021-08-12 12:57:31 +08:00

electron-vue-vite

Electron + Vue3 + Vite2 integration

How and Why

  • Vite is the scaffold of the future

Command

  • npm run dev
  • npm run build

Note

  • In the development environment, we need to transform the Electron related API into commonjs
  • And you can only use ESM
  • So far, I've written an vitejs-plugin-electron plugin

Usage

  • vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import electron from 'vitejs-plugin-electron'

export default defineConfig((env) => ({
  plugins: [
    vue(),
    electron(),
  ],
  // other config...
}))

In "src/render/main.ts" file

// You code
import { ipcRenderer } from 'electron'
import Store from 'electron-store'

// Will be generate in development mode
const { ipcRenderer } = require("electron")
const Store = require("electron-store")
  • It works!

  • 🚀

  • 开发模式下 Electron 相关的 API 需要转换成 commonjs

  • 并且你只能用 ESM

  • 为此我写了一个 vitejs-plugin-electron 插件

electron-vue-vite-webpack



微信讨论


License

MIT License