From 9c902494a105273b6185665563c3829c1f0b3bae Mon Sep 17 00:00:00 2001 From: oceanlvr <657531018@qq.com> Date: Mon, 14 Feb 2022 17:48:27 +0800 Subject: [PATCH] feat: add inspector node debug support --- .vscode/launch.json | 59 +++++++++++++++++++++++--------- .vscode/tasks.json | 21 ++++++++++++ packages/main/index.ts | 2 +- packages/main/vite.config.ts | 2 +- packages/preload/vite.config.ts | 1 + packages/renderer/vite.config.ts | 1 + 6 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 5149ca0..b81c947 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,23 +1,17 @@ - - { "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", - "name": "Main", + "name": "Main(inspector)", "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", - // "program": "${workspaceRoot}/packages/main/index.ts", - // "outFiles": [ - // "${workspaceRoot}/dist/main/index.cjs" - // ], "runtimeArgs": [ - "./dist/main/index.cjs", + "--remote-debugging-port=9222", + "${workspaceFolder}/dist/main/index.cjs", ], "env": { - "VITE_DEV_SERVER_HOST": "127.0.0.1", - "VITE_DEV_SERVER_PORT": "3344" + "DEBUG": "true", }, "windows": { "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd" @@ -27,18 +21,51 @@ { "type": "chrome", "request": "launch", - "name": "Renderer", + "name": "Renderer(inspector)", + "url": "http://localhost:9222", + "webRoot": "${workspaceFolder}/dist/packages/renderer", + }, + { + "type": "node", + "request": "launch", + "name": "Main(vite)", + "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", + "runtimeArgs": [ + "${workspaceFolder}/dist/main/index.cjs", + ], + "env": { + "VITE_DEV_SERVER_HOST": "127.0.0.1", + "VITE_DEV_SERVER_PORT": "3344", + }, + "windows": { + "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd" + }, + "sourceMaps": true + }, + { + "type": "chrome", + "request": "launch", + "name": "Renderer(vite)", "url": "http://localhost:3344", "webRoot": "${workspaceFolder}/packages/renderer", }, ], "compounds": [ { - "name": "All", + "name": "All(inspector)", "configurations": [ - "Renderer", - "Main", - ] + "Renderer(inspector)", + "Main(inspector)", + ], + "preLaunchTask": "npm: prebuild" + }, + { + "name": "All(vite serve)", + "configurations": [ + "Renderer(vite)", + "Main(vite)", + ], + "preLaunchTask": "npm: debug" } ] -} +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..1db6a14 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,21 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "prebuild", + "group": "build", + "problemMatcher": [], + "label": "npm: prebuild", + "detail": "vue-tsc --project packages/renderer/tsconfig.json --noEmit && node scripts/build.mjs" + }, + { + "type": "npm", + "script": "debug", + "problemMatcher": [], + "label": "npm: debug", + "detail": "npm run prebuild && vite ./packages/renderer", + "group": "build" + }, + ] +} \ No newline at end of file diff --git a/packages/main/index.ts b/packages/main/index.ts index 394f3cc..5779c82 100644 --- a/packages/main/index.ts +++ b/packages/main/index.ts @@ -23,7 +23,7 @@ async function createWindow() { }, }) - if (app.isPackaged) { + if (app.isPackaged || process.env["DEBUG"]) { win.loadFile(join(__dirname, '../renderer/index.html')) } else { // 🚧 Use ['ENV_NAME'] avoid vite:define plugin diff --git a/packages/main/vite.config.ts b/packages/main/vite.config.ts index ae9c78e..bc67a88 100644 --- a/packages/main/vite.config.ts +++ b/packages/main/vite.config.ts @@ -11,7 +11,7 @@ export default defineConfig({ formats: ['cjs'], fileName: () => '[name].cjs', }, - minify: false, + minify: process.env./* from mode option */NODE_ENV === 'production', sourcemap: true, emptyOutDir: true, rollupOptions: { diff --git a/packages/preload/vite.config.ts b/packages/preload/vite.config.ts index 3f3ddce..2694c2e 100644 --- a/packages/preload/vite.config.ts +++ b/packages/preload/vite.config.ts @@ -11,6 +11,7 @@ export default defineConfig({ formats: ['cjs'], fileName: () => '[name].cjs', }, + sourcemap: true, minify: process.env./* from mode option */NODE_ENV === 'production', emptyOutDir: true, rollupOptions: { diff --git a/packages/renderer/vite.config.ts b/packages/renderer/vite.config.ts index 39f324c..5b47fb5 100644 --- a/packages/renderer/vite.config.ts +++ b/packages/renderer/vite.config.ts @@ -25,6 +25,7 @@ export default defineConfig({ base: './', build: { emptyOutDir: true, + sourcemap: true, outDir: '../../dist/renderer', }, server: {