chore: simplify vue/server-renderer import

pull/1136/head
Divyansh Singh 3 years ago
parent 57d782c6f1
commit 53a24add7d

@ -1,4 +1,3 @@
import { createRequire } from 'module'
import fs from 'fs-extra'
import path from 'path'
import { pathToFileURL } from 'url'
@ -9,8 +8,6 @@ import { HeadConfig, PageData, createTitle, notFoundPageData } from '../shared'
import { slash } from '../utils/slash'
import { SiteConfig, resolveSiteDataByRoute } from '../config'
const require = createRequire(import.meta.url)
export async function renderPage(
config: SiteConfig,
page: string, // foo.md
@ -27,20 +24,9 @@ export async function renderPage(
const siteData = resolveSiteDataByRoute(config.site, routePath)
await router.go(routePath)
// lazy require server-renderer for production build
// prioritize project root over vitepress' own dep
let rendererPath
try {
rendererPath = require.resolve('vue/server-renderer', {
paths: [config.root]
})
} catch (e) {
rendererPath = require.resolve('vue/server-renderer')
}
// render page
const content = await import(pathToFileURL(rendererPath).toString()).then(
(r) => r.renderToString(app)
const content = await import('vue/server-renderer').then(
({ renderToString: r }) => r(app)
)
const pageName = page.replace(/\//g, '_')

Loading…
Cancel
Save