diff --git a/packages/compiler-sfc/__tests__/__snapshots__/cssVars.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/cssVars.spec.ts.snap index b44f584b206..1dd8562d165 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/cssVars.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/cssVars.spec.ts.snap @@ -74,14 +74,16 @@ export default { expose(); _useCssVars(_ctx => ({ + \\"xxxxxxxx-foo\\": (_unref(foo)), \\"xxxxxxxx-_a___b____2____px__\\": ((_unref(a) + _unref(b)) / 2 + 'px' ), \\"xxxxxxxx-__a___b______2___a_\\": (((_unref(a) + _unref(b))) / (2 * _unref(a))) })) let a = 100 let b = 200 + let foo = 300 -return { a, b } +return { a, b, foo } } }" diff --git a/packages/compiler-sfc/__tests__/cssVars.spec.ts b/packages/compiler-sfc/__tests__/cssVars.spec.ts index 965c9a5202b..067de49d56a 100644 --- a/packages/compiler-sfc/__tests__/cssVars.spec.ts +++ b/packages/compiler-sfc/__tests__/cssVars.spec.ts @@ -204,8 +204,13 @@ describe('CSS vars injection', () => { `\n` + `` ) expect(content).toMatch(`_useCssVars(_ctx => ({ + "${mockId}-foo": (_unref(foo)), "${mockId}-_a___b____2____px__": ((_unref(a) + _unref(b)) / 2 + 'px' ), "${mockId}-__a___b______2___a_": (((_unref(a) + _unref(b))) / (2 * _unref(a))) })`) diff --git a/packages/compiler-sfc/src/cssVars.ts b/packages/compiler-sfc/src/cssVars.ts index da3e164aeaf..3fbc3213614 100644 --- a/packages/compiler-sfc/src/cssVars.ts +++ b/packages/compiler-sfc/src/cssVars.ts @@ -13,7 +13,7 @@ import hash from 'hash-sum' export const CSS_VARS_HELPER = `useCssVars` export const cssVarRE = - /\bv-bind\s*\(\s*(?:'([^']+)'|"([^"]+)"|([^'"][^;]*))\s*\)/g + /\bv-bind\s*\(\s*(?:'([^']+)'|"([^"]+)"|([^'"]|[\w]*|[^;]*))\s*\)/g export function genCssVarsFromList( vars: string[],