From 34671ea25f69cf2650a88a30888f4083989f25e9 Mon Sep 17 00:00:00 2001 From: meowtec Date: Thu, 20 May 2021 11:15:58 +0800 Subject: [PATCH] docs: document `server.middlewareMode` --- docs/config/index.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/config/index.md b/docs/config/index.md index 2faf013789714e..6e188c7e61bdab 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -430,6 +430,42 @@ export default async ({ command, mode }) => { File system watcher options to pass on to [chokidar](https://github.com/paulmillr/chokidar#api). +### server.middlewareMode + +- **Type:** `'ssr' | 'html'` + + Create Vite server in middleware mode. (without a HTTP server) + + - `'ssr'` will disable Vite's own HTML serving logic so that you should serve `index.html` manually. + - `'html'` will enable Vite's own HTML serving logic. + +- **Related:** [SSR - Setting Up the Dev Server](/guide/ssr#setting-up-the-dev-server) + +- **Example:** +```js +const express = require('express') +const { createServer: createViteServer } = require('vite') + +async function createServer() { + const app = express() + + // Create vite server in middleware mode. + const vite = await createViteServer({ + server: { middlewareMode: 'ssr' } + }) + // Use vite's connect instance as middleware + app.use(vite.middlewares) + + app.use('*', async (req, res) => { + // If `middlewareMode` is `'ssr'`, should serve `index.html` here. + // If `middlewareMode` is `'html'`, there is no need to serve `index.html` + // because Vite will do that. + }) +} + +createServer() +``` + ### server.fsServe.strict - **Experimental**