]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(ssr): fix class/style rendering + ssrRenderComponent export name
authorEvan You <yyx990803@gmail.com>
Sat, 15 Feb 2020 01:48:06 +0000 (20:48 -0500)
committerEvan You <yyx990803@gmail.com>
Sat, 15 Feb 2020 01:48:06 +0000 (20:48 -0500)
packages/compiler-ssr/__tests__/ssrElement.spec.ts
packages/compiler-ssr/src/transforms/ssrTransformElement.ts
packages/server-renderer/src/index.ts

index 8d38c8292fce63465472896a9390fe9d21d09e0e..c99d13c543a4b55e42c4ccd3b164dd75b0bb4fc7 100644 (file)
@@ -77,7 +77,7 @@ describe('ssr: element', () => {
       expect(
         getCompiledString(`<div id="foo" :class="bar"></div>`)
       ).toMatchInlineSnapshot(
-        `"\`<div id=\\"foo\\"\${_ssrRenderClass(_ctx.bar)}></div>\`"`
+        `"\`<div id=\\"foo\\" class=\\"\${_ssrRenderClass(_ctx.bar)}\\"></div>\`"`
       )
     })
 
@@ -85,7 +85,7 @@ describe('ssr: element', () => {
       expect(
         getCompiledString(`<div class="foo" :class="bar"></div>`)
       ).toMatchInlineSnapshot(
-        `"\`<div\${_ssrRenderClass([_ctx.bar, \\"foo\\"])}></div>\`"`
+        `"\`<div class=\\"\${_ssrRenderClass([_ctx.bar, \\"foo\\"])}\\"></div>\`"`
       )
     })
 
@@ -93,7 +93,7 @@ describe('ssr: element', () => {
       expect(
         getCompiledString(`<div id="foo" :style="bar"></div>`)
       ).toMatchInlineSnapshot(
-        `"\`<div id=\\"foo\\"\${_ssrRenderStyle(_ctx.bar)}></div>\`"`
+        `"\`<div id=\\"foo\\" style=\\"\${_ssrRenderStyle(_ctx.bar)}\\"></div>\`"`
       )
     })
 
@@ -101,7 +101,7 @@ describe('ssr: element', () => {
       expect(
         getCompiledString(`<div style="color:red;" :style="bar"></div>`)
       ).toMatchInlineSnapshot(
-        `"\`<div\${_ssrRenderStyle([_hoisted_1, _ctx.bar])}></div>\`"`
+        `"\`<div style=\\"\${_ssrRenderStyle([_hoisted_1, _ctx.bar])}\\"></div>\`"`
       )
     })
 
index b541a9ed9ef8d44e920d6423f688e5f8b15ff62e..2b9b218044a4b419d32822bd71dd19452514f3e9 100644 (file)
@@ -176,10 +176,12 @@ export const ssrTransformElement: NodeTransform = (node, context) => {
                   // static key attr
                   if (attrName === 'class') {
                     openTag.push(
+                      ` class="`,
                       (dynamicClassBinding = createCallExpression(
                         context.helper(SSR_RENDER_CLASS),
                         [value]
-                      ))
+                      )),
+                      `"`
                     )
                   } else if (attrName === 'style') {
                     if (dynamicStyleBinding) {
@@ -187,10 +189,12 @@ export const ssrTransformElement: NodeTransform = (node, context) => {
                       mergeCall(dynamicStyleBinding, value)
                     } else {
                       openTag.push(
+                        ` style="`,
                         (dynamicStyleBinding = createCallExpression(
                           context.helper(SSR_RENDER_STYLE),
                           [value]
-                        ))
+                        )),
+                        `"`
                       )
                     }
                   } else {
index 06a184563284a6b424ac21b024c575fb514584d1..59b2b45f8fba2a6a53b4576a5e4d7c23dd3bae0a 100644 (file)
@@ -2,7 +2,7 @@
 export { renderToString } from './renderToString'
 
 // internal runtime helpers
-export { renderComponent } from './renderToString'
+export { renderComponent as ssrRenderComponent } from './renderToString'
 export { ssrRenderSlot } from './helpers/ssrRenderSlot'
 export {
   ssrRenderClass,