Configuration
You can pass options to Vite SSG in the ssgOptions
field of your vite.config.js
// vite.config.js
export default {
plugins: [],
ssgOptions: {
script: 'async',
},
}
script
type
'sync' | 'async' | 'defer' | 'async defer'
default 'sync'
Set the scripts' loading mode. Only works for type="module"
.
format
type
'esm' | 'cjs'
default 'esm'
Build format.
entry
type
string
default 'src/main.ts'
The path of the main entry file (relative to the project root).
mock
type
boolean
default false
Mock browser global variables (window, document, etc...) from SSG.
formatting
type
'minify' | 'prettify' | 'none'
default 'none'
Apply formatter to the generated index file.
It will cause Hydration Failed.
mode
type
string
Vite environmeng mode.
dirStyle
type
'flat' | 'nested'
default 'flat'
Directory style of the output directory.
flat: /foo
-> /foo.html
nested: /foo
-> /foo/index.html
includeAllRoutes
type
boolean
default false
Generate for all routes, including dynamic routes. If enabled, you will need to configGure your serve manually to handle dynamic routes properly.
crittersOptions
type
CrittersOptions | false
default {}
Options for the critters packages.
@see https://github.com/GoogleChromeLabs/critters
onBeforePageRender
type
(route: string, indexHTML: string, appCtx: ViteReactSSGContext<true>) => Promise<string | null | undefined> | string | null | undefined
Callback to be called before every page render.
It can be used to transform the project's index.html
file before passing it to the renderer.
To do so, you can change the 'index.html' file contents (passed in through the indexHTML
parameter), and return it.
The returned value will then be passed to renderer.
onPageRendered
type
(route: string, renderedHTML: string, appCtx: ViteReactSSGContext<true>) => Promise<string | null | undefined> | string | null | undefined
Callback to be called on every rendered page.
It can be used to transform the current route's rendered HTML.
To do so, you can transform the route's rendered HTML (passed in through the renderedHTML
parameter), and return it.
The returned value will be used as the HTML of the route.
onFinished
type
() => Promise<void>
rootContainerId
type
string
default 'root'
The application's root container id
.
concurrency
type
number
default 20
The size of the SSG processing queue.
Extend Vite
We have inherited some configuration options from Vite.
Https
type
boolean | ServerOptions
default undefined
If you set https
to true in Vite, we will by default use devcert
to generate a local HTTPS service for you. Of course, if you pass in your own custom https parameters, we will also help you pass them through to the Express server.