From 0566305c795e6567693b7335bf7efe11469884f6 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: Wed, 19 Oct 2022 19:11:36 +0800 Subject: [PATCH] feat: use Node.js in Renderer process --- README.md | 11 ++++++++--- package.json | 3 ++- src/main.tsx | 10 +--------- vite.config.ts | 4 ++++ 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d895496..cf1a7ec 100644 --- a/README.md +++ b/README.md @@ -65,9 +65,14 @@ To get started, remove the option as shown below. This will [modify the Vite con ```diff # vite.config.ts -electron({ -- renderer: {} -}) +export default { + plugins: [ +- // Use Node.js API in the Renderer-process +- renderer({ +- nodeIntegration: true, +- }), + ], +} ``` ## ❔ FAQ diff --git a/package.json b/package.json index 574ad19..e2f6014 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "sass": "^1.55.0", "typescript": "^4.8.4", "vite": "^3.1.4", - "vite-electron-plugin": "^0.4.6" + "vite-electron-plugin": "^0.4.6", + "vite-plugin-electron-renderer": "^0.10.1" }, "debug": { "env": { diff --git a/src/main.tsx b/src/main.tsx index c897ef0..412bad4 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,17 +1,9 @@ import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' +import './samples/node-api' import 'styles/index.css' -/** - * If you enables use of Node.js API in the Renderer-process - * ``` - * npm i -D vite-plugin-electron-renderer - * ``` - * @see - https://github.com/electron-vite/vite-plugin-electron/tree/main/packages/electron-renderer#electron-renderervite-serve - */ -// import './samples/node-api' - ReactDOM.createRoot(document.getElementById('root')!).render( diff --git a/vite.config.ts b/vite.config.ts index f62ed82..98de3a7 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,6 +4,7 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import electron from 'vite-electron-plugin' import { customStart } from 'vite-electron-plugin/plugin' +import renderer from 'vite-plugin-electron-renderer' import pkg from './package.json' rmSync(path.join(__dirname, 'dist-electron'), { recursive: true, force: true }) @@ -31,6 +32,9 @@ export default defineConfig({ ? [customStart(debounce(() => console.log(/* For `.vscode/.debug.script.mjs` */'[startup] Electron App')))] : undefined, }), + renderer({ + nodeIntegration: true, + }), ], server: process.env.VSCODE_DEBUG ? (() => { const url = new URL(pkg.debug.env.VITE_DEV_SERVER_URL)