ssr-template.spec.ts — vue Source File
Architecture documentation for ssr-template.spec.ts, a typescript file in the vue codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 067998f7_6426_812d_2e2b_24555482bfb9["ssr-template.spec.ts"] 80ffdb31_30bf_204b_ee64_bbb38151ebd9["compile-with-webpack.ts"] 067998f7_6426_812d_2e2b_24555482bfb9 --> 80ffdb31_30bf_204b_ee64_bbb38151ebd9 d504e56d_e99f_6cae_8673_b0fba3808e2b["compileWithWebpack"] 067998f7_6426_812d_2e2b_24555482bfb9 --> d504e56d_e99f_6cae_8673_b0fba3808e2b 62c7c384_07e0_9b4d_0470_4dbef04321eb["createWebpackBundleRenderer"] 067998f7_6426_812d_2e2b_24555482bfb9 --> 62c7c384_07e0_9b4d_0470_4dbef04321eb c5601857_7faf_30c6_efca_20de90db006c["vue"] 067998f7_6426_812d_2e2b_24555482bfb9 --> c5601857_7faf_30c6_efca_20de90db006c e470ee39_c7fb_5d09_8d77_4de2a23d9ce8["index"] 067998f7_6426_812d_2e2b_24555482bfb9 --> e470ee39_c7fb_5d09_8d77_4de2a23d9ce8 a7ba45f8_4dbf_6206_075e_7f8c0d260880["client"] 067998f7_6426_812d_2e2b_24555482bfb9 --> a7ba45f8_4dbf_6206_075e_7f8c0d260880 750d5325_1865_c1ad_961b_9000d660dd28["create-renderer"] 067998f7_6426_812d_2e2b_24555482bfb9 --> 750d5325_1865_c1ad_961b_9000d660dd28 style 067998f7_6426_812d_2e2b_24555482bfb9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
// @vitest-environment node
import Vue from 'vue'
import {
compileWithWebpack,
createWebpackBundleRenderer
} from './compile-with-webpack'
import { createRenderer } from 'server/index'
import VueSSRClientPlugin from 'server/webpack-plugin/client'
import { RenderOptions } from 'server/create-renderer'
const defaultTemplate = `<html><head></head><body><!--vue-ssr-outlet--></body></html>`
const interpolateTemplate = `<html><head><title>{{ title }}</title></head><body><!--vue-ssr-outlet-->{{{ snippet }}}</body></html>`
async function generateClientManifest(file: string) {
const fs = await compileWithWebpack(file, {
output: {
path: '/',
publicPath: '/',
filename: '[name].js'
},
optimization: {
runtimeChunk: {
name: 'manifest'
}
},
plugins: [new VueSSRClientPlugin()]
})
return JSON.parse(fs.readFileSync('/vue-ssr-client-manifest.json', 'utf-8'))
}
async function createRendererWithManifest(
file: string,
options?: RenderOptions
) {
const clientManifest = await generateClientManifest(file)
return createWebpackBundleRenderer(
file,
Object.assign(
{
asBundle: true,
template: defaultTemplate,
clientManifest
},
options
)
)
}
describe('SSR: template option', () => {
it('renderToString', async () => {
const renderer = createRenderer({
template: defaultTemplate
})
const context = {
head: '<meta name="viewport" content="width=device-width">',
styles: '<style>h1 { color: red }</style>',
state: { a: 1 }
}
// ... (571 more lines)
Domain
Subdomains
Dependencies
- client
- compile-with-webpack.ts
- compileWithWebpack
- create-renderer
- createWebpackBundleRenderer
- index
- vue
Source
Frequently Asked Questions
What does ssr-template.spec.ts do?
ssr-template.spec.ts is a source file in the vue codebase, written in typescript. It belongs to the CompilerSFC domain, TemplateTransformer subdomain.
What functions are defined in ssr-template.spec.ts?
ssr-template.spec.ts defines 2 function(s): createRendererWithManifest, generateClientManifest.
What does ssr-template.spec.ts depend on?
ssr-template.spec.ts imports 7 module(s): client, compile-with-webpack.ts, compileWithWebpack, create-renderer, createWebpackBundleRenderer, index, vue.
Where is ssr-template.spec.ts in the architecture?
ssr-template.spec.ts is located at packages/server-renderer/test/ssr-template.spec.ts (domain: CompilerSFC, subdomain: TemplateTransformer, directory: packages/server-renderer/test).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free