From 72bbdd7b18d3d15e587ba377188491698f743263 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Tue, 18 May 2021 16:50:47 +0800 Subject: [PATCH] fix: change base default value --- packages/playground/ssr/package.json | 2 +- packages/playground/ssr/vite.config.js | 5 ++++- packages/vite-plugin-uni/src/config/index.ts | 16 +++++++++----- packages/vite-plugin-uni/src/vue/options.ts | 22 ++++++++------------ 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/packages/playground/ssr/package.json b/packages/playground/ssr/package.json index f93643073..b2fb1a966 100644 --- a/packages/playground/ssr/package.json +++ b/packages/playground/ssr/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "scripts": { "dev": "uni -d uni:*", - "build": "uni build", + "build": "uni build -d uni:*", "dev:ssr": "uni -d uni:* --ssr", "build:ssr": "uni build --ssr" }, diff --git a/packages/playground/ssr/vite.config.js b/packages/playground/ssr/vite.config.js index e0543490f..b13a00e93 100644 --- a/packages/playground/ssr/vite.config.js +++ b/packages/playground/ssr/vite.config.js @@ -1,6 +1,9 @@ import { defineConfig } from 'vite' import uni from '@dcloudio/vite-plugin-uni' -// https://vitejs.dev/config/ +/** + * @type {import('vite').UserConfig} + */ export default defineConfig({ + build: { minify: false }, plugins: [uni({ viteLegacyOptions: false })], }) diff --git a/packages/vite-plugin-uni/src/config/index.ts b/packages/vite-plugin-uni/src/config/index.ts index e68570798..bac0904ff 100644 --- a/packages/vite-plugin-uni/src/config/index.ts +++ b/packages/vite-plugin-uni/src/config/index.ts @@ -32,16 +32,22 @@ export function createConfig( options.command = env.command options.platform = (process.env.UNI_PLATFORM as UniApp.PLATFORM) || 'h5' options.inputDir = normalizeInputDir(config) - options.vueOptions = initPluginVueOptions(options) - options.vueJsxOptions = initPluginVueJsxOptions(options) - options.viteLegacyOptions = initPluginViteLegacyOptions(options) - options.compiler.init() - const define = createDefine(options, config, env) let base = config.base if (!base) { const { h5 } = parseManifestJsonOnce(options.inputDir) base = (h5 && h5.router && h5.router.base) || '' } + if (!base) { + base = '/' + } + options.base = base! + options.vueOptions = initPluginVueOptions(options) + options.vueJsxOptions = initPluginVueJsxOptions(options) + options.viteLegacyOptions = initPluginViteLegacyOptions(options) + options.compiler.init() + + const define = createDefine(options, config, env) + return { base, publicDir: config.publicDir || false, diff --git a/packages/vite-plugin-uni/src/vue/options.ts b/packages/vite-plugin-uni/src/vue/options.ts index 5b5143de8..4f934c493 100644 --- a/packages/vite-plugin-uni/src/vue/options.ts +++ b/packages/vite-plugin-uni/src/vue/options.ts @@ -1,5 +1,5 @@ import { extend, hasOwn, isArray } from '@vue/shared' -import { CompilerOptions, SFCTemplateCompileOptions } from '@vue/compiler-sfc' +import { SFCTemplateCompileOptions } from '@vue/compiler-sfc' import { isCustomElement, isNativeTag } from '@dcloudio/uni-shared' import { EXTNAME_VUE_RE, parseCompatConfigOnce } from '@dcloudio/uni-cli-shared' @@ -7,13 +7,11 @@ import { EXTNAME_VUE_RE, parseCompatConfigOnce } from '@dcloudio/uni-cli-shared' import { matchMedia } from './transforms/matchMedia' import { VitePluginUniResolvedOptions } from '..' -export const uniVueCompilerOptions: CompilerOptions = { - isNativeTag, - nodeTransforms: [matchMedia], -} - -export const uniVueTransformAssetUrls: SFCTemplateCompileOptions['transformAssetUrls'] = - { +function createUniVueTransformAssetUrls( + base: string +): SFCTemplateCompileOptions['transformAssetUrls'] { + return { + base, tags: { audio: ['src'], video: ['src', 'poster'], @@ -30,10 +28,6 @@ export const uniVueTransformAssetUrls: SFCTemplateCompileOptions['transformAsset 'u-video': ['src', 'poster'], }, } - -export const uniVueTemplateOptions: Partial = { - compilerOptions: uniVueCompilerOptions, - transformAssetUrls: uniVueTransformAssetUrls, } export function initPluginVueOptions(options: VitePluginUniResolvedOptions) { @@ -48,7 +42,9 @@ export function initPluginVueOptions(options: VitePluginUniResolvedOptions) { const templateOptions = vueOptions.template || (vueOptions.template = {}) - templateOptions.transformAssetUrls = uniVueTransformAssetUrls + templateOptions.transformAssetUrls = createUniVueTransformAssetUrls( + options.base + ) const compilerOptions = templateOptions.compilerOptions || (templateOptions.compilerOptions = {}) -- GitLab