A Vite plugin that forces a full page reload when your SSR entry file changes. It also injects `@vite/client` into the HTML response so hot reload can work properly.
npm install vite-plugin-ssr-hot-reloadA Vite plugin that forces a full page reload when your SSR entry file changes. It also injects @vite/client into the HTML response so hot reload can work properly.
``bash`
npm install -D vite-plugin-ssr-hot-reload
`ts
// vite.config.ts
import { defineConfig } from 'vite'
import ssrHotReload from 'vite-plugin-ssr-hot-reload'
export default defineConfig({
plugins: [ssrHotReload()]
})
`
You can pass entry to specify which files should trigger a full reload.
`ts`
ssrHotReload({
entry: ['/src/pages//.tsx', '/src/layouts//.ts']
})
By default, the plugin watches:
`ts`
entry: ['/src//.ts', '/src//.tsx']
You can pass ignore to specify which files should be excluded from triggering a full reload, even if they match the entry patterns.
`ts`
ssrHotReload({
entry: ['/src/pages/*/.tsx'],
ignore: ['/src/pages/ignored/*/.tsx']
})
You can pass injectReactRefresh: true to inject React Refresh scripts into the HTML head. This is useful for React applications that need hot module replacement for React components.
Note: To use this feature, you need to install @vitejs/plugin-react in your project.
`ts
// First, install @vitejs/plugin-react
// npm install -D @vitejs/plugin-react
// Then in your vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import ssrHotReload from 'vite-plugin-ssr-hot-reload'
export default defineConfig({
plugins: [
react(), // Make sure to include the React plugin
ssrHotReload({
injectReactRefresh: true
})
]
})
`
When enabled, the plugin injects the following scripts at the end of the
tag:`html
`What it does
- Injects