From 766d08e5d2ef9bb48614b17ec12e83c4360fb4dc Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Tue, 27 Sep 2022 16:51:20 +0800 Subject: [PATCH] fix(mp): script + v-bind (#3887) --- packages/uni-mp-vite/src/plugin/polyfill.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/uni-mp-vite/src/plugin/polyfill.ts b/packages/uni-mp-vite/src/plugin/polyfill.ts index d81227cd7..43e179146 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) + } } /** -- GitLab