We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Matias Capeletto | Environment API, An Even More Flexible Vite | ViteConf 2024
Learn how Vite's new Environment API separates client, node & edge code execution, enables unified builds, and simplifies framework development with proper HMR support.
-
Environment API is one of the biggest API changes in Vite’s history, aiming to make Vite more flexible by separating different environments (client, node, edge)
-
The API allows running code in the correct environment during development - for example, running worker code directly in Miniflare instead of Node
-
Separate module graphs for different environments replace the previous mixed client/SSR module graph, making the system more maintainable and less error-prone
-
New builder abstraction enables building multiple environments (client, SSR, worker) in a single command with
builder.buildApp()
-
Environment configuration becomes more declarative with explicit environment definitions in the config, rather than using boolean flags
-
Better alignment between development and production environments, with application code running in the same place in both modes
-
Full HMR support across different environments while maintaining proper caching and importing
-
Primary focus is on framework and environment provider authors rather than end users, maintaining backwards compatibility
-
New APIs simplify configuration by removing the need to branch logic based on SSR booleans or access through specific paths
-
Built with ecosystem growth in mind, supporting use cases from frameworks like Nuxt, Remix, React Server Components and edge environments