From 60aa955f36b43b27db677cde7e7997d99461a6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=89=E9=9E=8B=E6=B2=A1=E5=8F=B7?= <308487730@qq.com> Date: Mon, 18 Apr 2022 09:56:00 +0800 Subject: [PATCH] refactor: resolveElectron -> electron --- packages/renderer/vite.config.ts | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/renderer/vite.config.ts b/packages/renderer/vite.config.ts index 7238715..3fdcc6e 100644 --- a/packages/renderer/vite.config.ts +++ b/packages/renderer/vite.config.ts @@ -3,6 +3,7 @@ import { builtinModules } from 'module' import { defineConfig, Plugin } from 'vite' import react from '@vitejs/plugin-react' import optimizer from 'vite-plugin-optimizer' +import resolve from 'vite-plugin-resolve' import pkg from '../../package.json' /** @@ -13,17 +14,21 @@ export default defineConfig({ root: __dirname, plugins: [ react(), - resolveElectron( + electron(), + resolve({ /** - * Here you can specify other modules - * 🚧 You have to make sure that your module is in `dependencies` and not in the` devDependencies`, - * which will ensure that the electron-builder can package it correctly - * @example - * { - * 'electron-store': 'const Store = require("electron-store"); export default Store;', - * } + * Here you resolve some CommonJs module. + * Or some Node.js native modules they may not be built correctly by vite. + * At the same time, these modules should be put in `dependencies`, + * because they will not be built by vite, but will be packaged into `app.asar` by electron-builder */ - ), + 'electron-store': 'export default require("electron-store");', + // Node.js native module + serialport: ` + const { SerialPort } = require("serialport"); + export { SerialPort } + `, + }), ], base: './', build: { @@ -46,7 +51,7 @@ export default defineConfig({ * For usage of Electron and NodeJS APIs in the Renderer process * @see https://github.com/caoxiemeihao/electron-vue-vite/issues/52 */ - export function resolveElectron( +export function electron( entries: Parameters[0] = {} ): Plugin { const builtins = builtinModules.filter((t) => !t.startsWith('_'))