The modern build tool.
WHAT IT DOES DIFFERENTLY IN DEVELOPMENT
Serves modules directly to the browser, rather than bundling first.
WHY THAT MATTERS
Startup is near-instant regardless of project size, and updates are immediate.
WHAT IT DOES FOR PRODUCTION
Bundles and optimises, using an established bundler underneath.
WHAT IT PROVIDES OUT OF THE BOX
Framework support through plugins Stylesheet processing Asset handling Environment variables Code splitting
WHAT CONFIGURATION IT NEEDS
Very little, for typical projects.
WHY THAT MATTERS
Build configuration that nobody understands is a common liability.
WHAT TO CONFIGURE WHEN NEEDED
Path aliases Proxying API requests during development Build output location Chunk splitting
WHAT TO BE CAREFUL WITH
Environment variables, which must use the expected prefix to be exposed.
WHY THAT PREFIX EXISTS
To prevent accidentally exposing secrets to the browser.
WHAT TO NEVER PUT IN THEM
Anything secret.
WHY
Everything in the build output is public.
WHAT TO CHECK
Bundle composition, using its analysis tooling.