From d00fc26616bf8292fcfa2cc86438a574d3cea04d Mon Sep 17 00:00:00 2001
From: Hooray Hu <304327508@qq.com>
Date: Wed, 3 Jul 2024 23:25:36 +0800
Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=8E=AF=E5=A2=83=E5=8F=98?=
=?UTF-8?q?=E9=87=8F=20`VITE=5FAPP=5FDISABLE=5FDEVTOOL`=20=E6=94=B9?=
=?UTF-8?q?=E6=88=90=E7=94=A8=20vite=20=E6=8F=92=E4=BB=B6=E7=9A=84?=
=?UTF-8?q?=E6=96=B9=E5=BC=8F=E6=B3=A8=E5=85=A5=E4=BB=A3=E7=A0=81=E4=B8=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.vue | 3 ---
vite.config.ts | 4 ++--
vite/plugins/debug-tool.ts | 2 +-
vite/plugins/disable-devtool.ts | 22 ++++++++++++++++++++++
vite/plugins/index.ts | 2 ++
5 files changed, 27 insertions(+), 6 deletions(-)
create mode 100644 vite/plugins/disable-devtool.ts
diff --git a/src/App.vue b/src/App.vue
index b665ee0b..2e5390d5 100755
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,4 @@
diff --git a/vite.config.ts b/vite.config.ts
index 602a7387..27215940 100755
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -17,7 +17,7 @@ export default async ({ mode, command }) => {
}
})
return defineConfig({
- // 开发服务器选项 https://cn.vitejs.dev/config/#server-options
+ // 开发服务器选项 https://cn.vitejs.dev/config/server-options
server: {
open: true,
port: 9000,
@@ -29,7 +29,7 @@ export default async ({ mode, command }) => {
},
},
},
- // 构建选项 https://cn.vitejs.dev/config/#server-fsserve-root
+ // 构建选项 https://cn.vitejs.dev/config/build-options
build: {
outDir: mode === 'production' ? 'dist' : `dist-${mode}`,
sourcemap: env.VITE_BUILD_SOURCEMAP === 'true',
diff --git a/vite/plugins/debug-tool.ts b/vite/plugins/debug-tool.ts
index aa41c52a..4421df89 100644
--- a/vite/plugins/debug-tool.ts
+++ b/vite/plugins/debug-tool.ts
@@ -3,7 +3,7 @@ import type { Plugin } from 'vite'
export default function createDebugTool(env): Plugin {
const { VITE_APP_DEBUG_TOOL } = env
return {
- name: 'debug-plugin',
+ name: 'debug-tool',
transform: (code, id) => {
if (/src\/main.ts$/.test(id)) {
if (VITE_APP_DEBUG_TOOL === 'eruda') {
diff --git a/vite/plugins/disable-devtool.ts b/vite/plugins/disable-devtool.ts
new file mode 100644
index 00000000..d3bb5604
--- /dev/null
+++ b/vite/plugins/disable-devtool.ts
@@ -0,0 +1,22 @@
+import type { Plugin } from 'vite'
+
+export default function createDisableDevtool(env): Plugin {
+ const { VITE_APP_DISABLE_DEVTOOL } = env
+ return {
+ name: 'disable-devtool',
+ transform: (code, id) => {
+ if (/src\/main.ts$/.test(id)) {
+ if (VITE_APP_DISABLE_DEVTOOL === 'true') {
+ code = code.concat(`
+ import DisableDevtool from 'disable-devtool'
+ DisableDevtool()
+ `)
+ }
+ return {
+ code,
+ map: null,
+ }
+ }
+ },
+ }
+}
diff --git a/vite/plugins/index.ts b/vite/plugins/index.ts
index dcec1497..984efe13 100755
--- a/vite/plugins/index.ts
+++ b/vite/plugins/index.ts
@@ -17,6 +17,7 @@ import createArchiver from './archiver'
import createConsole from './console'
import createBanner from './banner'
import createDebugTool from './debug-tool'
+import createDisableDevtool from './disable-devtool'
export default function createVitePlugins(viteEnv, isBuild = false) {
const vitePlugins: (PluginOption | PluginOption[])[] = [
@@ -44,5 +45,6 @@ export default function createVitePlugins(viteEnv, isBuild = false) {
vitePlugins.push(createConsole())
vitePlugins.push(createBanner())
vitePlugins.push(createDebugTool(viteEnv))
+ vitePlugins.push(createDisableDevtool(viteEnv))
return vitePlugins
}