Registry / web-framework / vite-plugin-prerender

vite-plugin-prerender

JSON →
library1.0.8jsnpmunverified

A flexible, framework-agnostic Vite plugin for prerendering static HTML from single-page applications. Version 1.0.8 supports any framework (Vue, React, etc.) and offers customizable configuration including route selection, post-processing, minification, and server options. It uses Puppeteer under the hood via the prerenderer library. Release cadence is irregular; the plugin is largely feature-complete with occasional bug fixes. Differentiators include full Vite compatibility, ease of use, and support for custom renderers.

npm install vite-plugin-prerender
INSTALL
IMPORT
SIG · VITE-PLUGIN-PREREN
V
vite-plugin-prerender
web-frameworkjavascriptv1.0.8
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import vitePrerender from 'vite-plugin-prerender'
import { vitePrerender } from 'vite-plugin-prerender'
Default export only; named import will fail.
PuppeteerRenderer
import vitePrerender from 'vite-plugin-prerender'; const PuppeteerRenderer = vitePrerender.PuppeteerRenderer
import { PuppeteerRenderer } from 'vite-plugin-prerender'
PuppeteerRenderer is a property on the default export, not a named export.
CommonJS require
const vitePrerender = require('vite-plugin-prerender')
CJS is supported for Node.js <12? ESM is recommended. Use .mjs or type: module for ESM.

Basic Vite configuration to prerender three routes into static HTML files.

import vitePrerender from 'vite-plugin-prerender'; import path from 'path'; export default () => ({ plugins: [ vitePrerender({ staticDir: path.join(__dirname, 'dist'), routes: ['/', '/about', '/contact'], }), ], });
Debug
Known issues
gotchaPlugin only works during vite build, not dev server. Hot reload won't trigger prerendering.
fix
Use vite build to generate prerendered output.
affects: >=1.0.0
deprecatedThe `postProcess` function in v1.0.7 had a bug: if it didn't return a value, the route was dropped. This was fixed in v1.0.8.
fix
Upgrade to v1.0.8 or ensure postProcess always returns a renderedRoute object.
affects: 1.0.7
breakingDefault export changed from named to default? Verify if any breaking changes between major versions (none identified so far).
affects: >=1.0.0
gotchaPuppeteer is required as a peer dependency but not listed; must be installed separately.
fix
npm install puppeteer --save-dev
affects: >=1.0.0
gotchaRoutes must exactly match the client-side router paths; wildcards or glob patterns are not supported.
fix
List all routes explicitly or generate them programmatically.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'puppeteer'
Puppeteer not installed (it's a peer dependency).
fix
npm install puppeteer --save-dev
TypeError: vitePrerender is not a function
Using named import instead of default import.
fix
Change import from `import { vitePrerender } from 'vite-plugin-prerender'` to `import vitePrerender from 'vite-plugin-prerender'`
Error: The 'staticDir' option is required.
Missing staticDir in plugin configuration.
fix
Add staticDir: path.join(__dirname, 'dist') to the options object.
Error: No routes provided. Please specify at least one route to prerender.
Missing or empty routes array.
fix
Provide an array of route strings in the options, e.g., routes: ['/', '/about'].
Upgrade
Version history
1.0.8latest on npm
Audit
Dependencies
viterequiredpeer dependency required at >=2.0.0 for plugin functionality
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
vite-plugin-prerender — npm install vite-plugin-prerender · libregistry