Skip to content

Commit 1edcd38

Browse files
committed
cache context.style access
1 parent 992e0b7 commit 1edcd38

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

lib/addStylesServer.js

+16-5
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ module.exports = function (parentId, list, isProduction) {
88
if (!styles) {
99
styles = context._styles = {}
1010
Object.defineProperty(context, 'styles', {
11+
enumberable: true,
1112
get () {
12-
return Object.keys(styles)
13-
.map(id => renderStyleTag(styles[id]))
14-
.join('\n')
13+
return (
14+
context._renderedStyles ||
15+
(context._renderedStyles = renderStyles(styles))
16+
)
1517
}
1618
})
1719
}
@@ -65,6 +67,15 @@ function addStyleDev (styles, list) {
6567
}
6668
}
6769

68-
function renderStyleTag (style) {
69-
return `<style data-vue-ssr-id="${style.ids.join(' ')}"${style.media ? ` media=${style.mdia}` : ''}>${style.css}</style>`
70+
function renderStyles (styles) {
71+
var css = ''
72+
for (var key in styles) {
73+
var style = styles[key]
74+
css += `<style data-vue-ssr-id="${
75+
style.ids.join(' ')
76+
}"${
77+
style.media ? ` media=${style.mdia}` : ''
78+
}>${style.css}</style>`
79+
}
80+
return css
7081
}

0 commit comments

Comments
 (0)