Home / Function/ serve() — vite Function Reference

serve() — vite Function Reference

Architecture documentation for the serve() function in serve.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  6a37d247_5a69_ba28_b354_b75665d2a51f["serve()"]
  f712e8cd_d635_d42c_a01f_23491c6b2d29["serve.ts"]
  6a37d247_5a69_ba28_b354_b75665d2a51f -->|defined in| f712e8cd_d635_d42c_a01f_23491c6b2d29
  style 6a37d247_5a69_ba28_b354_b75665d2a51f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

playground/legacy/__tests__/client-and-ssr/serve.ts lines 8–59

export async function serve(): Promise<{ close(): Promise<void> }> {
  const { build } = await import('vite')

  await build({
    mode: 'test',
    root: rootDir,
    logLevel: 'silent',
    build: {
      target: 'esnext',
      outDir: 'dist/client',
    },
  })

  await build({
    mode: 'test',
    root: rootDir,
    logLevel: 'silent',
    build: {
      target: 'esnext',
      ssr: 'entry-server-sequential.js',
      outDir: 'dist/server',
    },
  })

  const { default: express } = await import('express')
  const app = express()

  app.use('/', async (_req, res) => {
    const { render } = await import(
      path.resolve(rootDir, './dist/server/entry-server-sequential.js')
    )
    const html = await render()
    res.status(200).set({ 'Content-Type': 'text/html' }).end(html)
  })

  return new Promise((resolve, reject) => {
    try {
      const server = app.listen(port, () => {
        resolve({
          // for test teardown
          async close() {
            await new Promise((resolve) => {
              server.close(resolve)
            })
          },
        })
      })
    } catch (e) {
      reject(e)
    }
  })
}

Domain

Subdomains

Frequently Asked Questions

What does serve() do?
serve() is a function in the vite codebase, defined in playground/legacy/__tests__/client-and-ssr/serve.ts.
Where is serve() defined?
serve() is defined in playground/legacy/__tests__/client-and-ssr/serve.ts at line 8.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free