mirror of
https://github.com/nuxt/nuxt.git
synced 2025-01-18 17:35:57 +00:00
fix(nitro): workaround for vue2 global style injection
This commit is contained in:
parent
64fe3f735c
commit
e5df083f60
@ -1,11 +1,20 @@
|
||||
// @ts-ignore
|
||||
import { createRenderer } from '~vueServerRenderer'
|
||||
|
||||
const _renderer = createRenderer({})
|
||||
|
||||
// @ts-ignore
|
||||
const __VUE_SSR_CONTEXT__ = global.__VUE_SSR_CONTEXT__ = {}
|
||||
|
||||
export function renderToString (component, context) {
|
||||
return new Promise((resolve, reject) => {
|
||||
_renderer.renderToString(component, context, (err, result) => {
|
||||
const styles = [__VUE_SSR_CONTEXT__, context].map(c => c?._styles?.default).filter(Boolean)
|
||||
if (!context._styles) { context._styles = {} }
|
||||
context._styles.default = {
|
||||
ids: [...styles.map(s => s.ids)],
|
||||
css: styles.map(s => s.css).join(''),
|
||||
media: styles.map(s => s.media).join('')
|
||||
}
|
||||
if (err) {
|
||||
return reject(err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user