diff --git a/packages/uni-mp-vite/src/plugin/polyfill.ts b/packages/uni-mp-vite/src/plugin/polyfill.ts index d81227cd7e856b257809c34f6c33160a9ae598ad..43e1791467b0a9a7a07d62c400fa59d06db0238b 100644 --- a/packages/uni-mp-vite/src/plugin/polyfill.ts +++ b/packages/uni-mp-vite/src/plugin/polyfill.ts @@ -7,6 +7,7 @@ import { SFCParseResult, SFCScriptBlock, SFCScriptCompileOptions, + SFCTemplateCompileOptions, } from '@vue/compiler-sfc' export const rewriteCompileScriptOnce = once(rewriteCompileScript) @@ -14,7 +15,8 @@ export const rewriteCompilerSfcParseOnce = once(rewriteCompilerSfcParse) function rewriteCompileScript() { const compiler = require(resolveBuiltIn('@vue/compiler-sfc')) - const { compileScript } = compiler + const { compileScript, compileTemplate } = compiler + // script-setup + v-bind compiler.compileScript = ( sfc: SFCDescriptor, options: SFCScriptCompileOptions @@ -25,6 +27,14 @@ function rewriteCompileScript() { } return compileScript(sfc, options) } + // script + v-bind + compiler.compileTemplate = (options: SFCTemplateCompileOptions) => { + if (options?.compilerOptions) { + ;(options.compilerOptions as any).bindingCssVars = + options.ssrCssVars || [] + } + return compileTemplate(options) + } } /**