Dev Reload
Dev Reload
Hot reload for development with automatic browser refresh.
How It Works
When files change during development, the browser automatically reloads:
- Dev server detects file change
- Regenerates routes/assets
- Sends EventSource signal
- Browser refreshes
Configuration
import { dexDevReloadRouter } from '@dex/server'
app.use(dexDevReloadRouter({
watchDirs: ['web/public/assets'],
watchFiles: ['web/public/assets/client.js', 'web/public/assets/styles.css'],
pollIntervalMs: 250
}))Options and Configuration
If not explicitly passed in options, dexDevReloadRouter resolves watch targets from dex.config.ts or falls back to built-in defaults:
// dex.config.ts
export default {
watchDirs: ['web/public/assets'],
watchFiles: ['web/public/assets/client.js', 'web/public/assets/styles.css']
}Resolution Precedence:
- Explicit options passed to
dexDevReloadRouter({ watchFiles, watchDirs, pollIntervalMs }) - Configuration properties (
watchFiles/devWatchFiles,watchDirs/devWatchDirs) fromdex.config.ts - Built-in defaults (
web/public/assetsdirectory,web/public/assets/client.js, andweb/public/assets/styles.css)
Disabling Hot Reload
bun run dev --no-hotBrowser Requirements
Dev reload requires:
- Modern browser with EventSource support
- Same origin (no CORS issues)
- JavaScript enabled
See Also
- Watch Process — File watching
- Dev vs Production — Mode differences