mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-12 03:38:07 +00:00
refator: remove jsdomError listener before returning window
This commit is contained in:
parent
d9d747c9a8
commit
0783be2790
@ -423,16 +423,12 @@ module.exports = class Renderer {
|
|||||||
}
|
}
|
||||||
const jsdomErrHandler = err => { throw err }
|
const jsdomErrHandler = err => { throw err }
|
||||||
if (opts.virtualConsole !== false) {
|
if (opts.virtualConsole !== false) {
|
||||||
options.virtualConsole = new jsdom.VirtualConsole().sendTo(console, { omitJSDOMErrors: false })
|
options.virtualConsole = new jsdom.VirtualConsole().sendTo(console)
|
||||||
// throw error when window creation failed
|
// throw error when window creation failed
|
||||||
options.virtualConsole.on('jsdomError', jsdomErrHandler)
|
options.virtualConsole.on('jsdomError', jsdomErrHandler)
|
||||||
}
|
}
|
||||||
url = url || 'http://localhost:3000'
|
url = url || 'http://localhost:3000'
|
||||||
const { window } = await jsdom.JSDOM.fromURL(url, options)
|
const { window } = await jsdom.JSDOM.fromURL(url, options)
|
||||||
if (opts.virtualConsole !== false) {
|
|
||||||
// after window initialized successfully
|
|
||||||
options.virtualConsole.removeListener('jsdomError', jsdomErrHandler)
|
|
||||||
}
|
|
||||||
// If Nuxt could not be loaded (error from the server-side)
|
// If Nuxt could not be loaded (error from the server-side)
|
||||||
const nuxtExists = window.document.body.innerHTML.includes(
|
const nuxtExists = window.document.body.innerHTML.includes(
|
||||||
this.options.render.ssr ? 'window.__NUXT__' : '<div id="__nuxt">'
|
this.options.render.ssr ? 'window.__NUXT__' : '<div id="__nuxt">'
|
||||||
@ -447,6 +443,10 @@ module.exports = class Renderer {
|
|||||||
await new Promise(resolve => {
|
await new Promise(resolve => {
|
||||||
window._onNuxtLoaded = () => resolve(window)
|
window._onNuxtLoaded = () => resolve(window)
|
||||||
})
|
})
|
||||||
|
if (opts.virtualConsole !== false) {
|
||||||
|
// after window initialized successfully
|
||||||
|
options.virtualConsole.removeListener('jsdomError', jsdomErrHandler)
|
||||||
|
}
|
||||||
// Send back window object
|
// Send back window object
|
||||||
return window
|
return window
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user