fix(compiler-ssr): fix SSR issue when dynamic and static class co-exist (#2354)

This commit is contained in:
Mathieu TUDISCO
2020-10-13 22:25:15 +02:00
committed by GitHub
parent 6a554feb13
commit 8539c0bf32
4 changed files with 33 additions and 5 deletions

View File

@@ -15,8 +15,8 @@ export const ssrInjectCssVars: NodeTransform = (node, context) => {
return
}
// _cssVars is initailized once per render function
// the code is injected in ssrCodegenTrasnform when creating the
// _cssVars is initialized once per render function
// the code is injected in ssrCodegenTransform when creating the
// ssr transform context
if (node.type === NodeTypes.ROOT) {
context.identifiers._cssVars = 1

View File

@@ -324,9 +324,10 @@ function removeStaticBinding(
tag: TemplateLiteral['elements'],
binding: string
) {
const i = tag.findIndex(
e => typeof e === 'string' && e.startsWith(` ${binding}=`)
)
const regExp = new RegExp(`^ ${binding}=".+"$`)
const i = tag.findIndex(e => typeof e === 'string' && regExp.test(e))
if (i > -1) {
tag.splice(i, 1)
}