From 22bc2dfae7f32b30aedee4d85394d23fc78d5596 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Wed, 28 Apr 2021 13:37:22 +0800 Subject: [PATCH] feat(server): compat with HBuilderX --- packages/vite-plugin-uni/src/configResolved/index.ts | 5 +++++ .../vite-plugin-uni/src/configResolved/logger.ts | 12 ++++++++++++ .../vite-plugin-uni/src/configureServer/easycom.ts | 9 +-------- 3 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 packages/vite-plugin-uni/src/configResolved/logger.ts diff --git a/packages/vite-plugin-uni/src/configResolved/index.ts b/packages/vite-plugin-uni/src/configResolved/index.ts index a2b0e551b..71b5cb424 100644 --- a/packages/vite-plugin-uni/src/configResolved/index.ts +++ b/packages/vite-plugin-uni/src/configResolved/index.ts @@ -3,6 +3,7 @@ import { Plugin } from 'vite' import { VitePluginUniResolvedOptions } from '..' import { initEnv } from './env' +import { initLogger } from './logger' import { initOptions } from './options' import { initPlugins } from './plugins' @@ -11,5 +12,9 @@ export function createConfigResolved(options: VitePluginUniResolvedOptions) { initEnv(config) initOptions(options, config) initPlugins(config, options) + + if (options.command === 'serve') { + initLogger(config) + } }) as Plugin['configResolved'] } diff --git a/packages/vite-plugin-uni/src/configResolved/logger.ts b/packages/vite-plugin-uni/src/configResolved/logger.ts new file mode 100644 index 000000000..002c09777 --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/logger.ts @@ -0,0 +1,12 @@ +import { ResolvedConfig } from 'vite' + +export function initLogger({ logger }: ResolvedConfig) { + const { info } = logger + logger.info = (msg, opts) => { + // 兼容 HBuilderX 日志输出协议(可以让 HBuilderX 读取到 server 地址,自动打开浏览器) + if (msg && (msg.includes(' > Local:') || msg.includes(' > Network:'))) { + msg = msg.replace('>', '-') + } + return info(msg, opts) + } +} diff --git a/packages/vite-plugin-uni/src/configureServer/easycom.ts b/packages/vite-plugin-uni/src/configureServer/easycom.ts index c032249de..35b58773a 100644 --- a/packages/vite-plugin-uni/src/configureServer/easycom.ts +++ b/packages/vite-plugin-uni/src/configureServer/easycom.ts @@ -1,15 +1,8 @@ import { ViteDevServer } from 'vite' +import { debounce } from '@dcloudio/uni-shared' import { VitePluginUniResolvedOptions } from '..' import { debugEasycom, initEasycoms } from '../utils' -function debounce(fn: Function, wait: number) { - let timeout = 0 - return () => { - if (timeout) clearTimeout(timeout) - timeout = setTimeout(fn, wait) - } -} - export const serveEasycom = ( server: ViteDevServer, options: VitePluginUniResolvedOptions -- GitLab