1<!DOCTYPE html> 2<html lang="en-US" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <title>Vite | Next Generation Frontend Tooling</title> 7 <meta name="description" content="Next Generation Frontend Tooling"> 8 <meta name="generator" content="VitePress v2.0.0-alpha.20"> 9 10 <link rel="preload stylesheet" href="/assets/style.Bnb9bIzl.css" as="style"> 11
11<script type="module" src="/assets/chunks/metadata.da597f11.js"></script>
11 12
12<script type="module" src="/assets/app.BuWgJKRa.js"></script>
12 13 <link rel="preconnect" href="https://fonts.googleapis.com"> 14 <link rel="modulepreload" href="/assets/chunks/framework.CScP4KiQ.js"> 15 <link rel="modulepreload" href="/assets/chunks/theme.Bf_h15MB.js"> 16 <link rel="modulepreload" href="/assets/chunks/assets.DxlRNK2L.js"> 17 <link rel="modulepreload" href="/assets/chunks/Footer.BNrYk-gp.js"> 18 <link rel="modulepreload" href="/assets/index.md.Dr_mTZIQ.lean.js"> 19
19<script>localStorage.getItem(`banner-dismissed-viteconf-2026`)===`true`&&document.documentElement.classList.add(`banner-dismissed`);</script>
19 20 <link rel="icon" type="image/svg+xml" href="/logo-without-border.svg"> 21 <link rel="alternate" type="application/rss+xml" href="/blog.rss"> 22 <link rel="me" href="https://m.webtoo.ls/@vite"> 23 <meta property="og:type" content="website"> 24 <meta property="og:title" content="Vite"> 25 <meta property="og:image" content="https://vite.dev/og-image.jpg"> 26 <meta property="og:url" content="https://vite.dev"> 27 <meta property="og:description" content="Next Generation Frontend Tooling"> 28 <meta property="og:site_name" content="vitejs"> 29 <meta name="twitter:card" content="summary_large_image"> 30 <meta name="twitter:site" content="@vite_js"> 31 <meta name="theme-color" content="#646cff"> 32
32<script id="check-dark-mode">(()=>{let e=localStorage.getItem(`vitepress-theme-appearance`)||`auto`,t=window.matchMedia(`(prefers-color-scheme: dark)`).matches;(!e||e===`auto`?t:e===`dark`)&&document.documentElement.classList.add(`dark`)})();</script>
32 33
33<script id="check-mac-os">document.documentElement.classList.toggle(`mac`,/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
33 34 <link rel="canonical" href="https://vite.dev"> 35 <link href="/llms.txt" rel="describedby"> 36 </head> 37 <body> 38 <div id="app"><div class="marketing-layout" data-theme="dark" data-variant="vite" data-v-56d116fe><div class="top-banner hidden md:block relative w-full overflow-hidden" data-theme="dark" data-v-56d116fe><a href="https://viteconf.org/" target="_blank" rel="noopener noreferrer" class="group block relative w-full no-underline text-white"><img src="/assets/footer-background.BIgtbvhx.jpg" alt="" aria-hidden="true" class="absolute inset-0 w-full h-full object-cover object-bottom brightness-60" loading="eager"><div class="relative z-10 w-full h-10 flex px-4"><div class="flex items-center gap-2 w-full max-w-360 mx-auto px-4"><img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2023%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20.7482%200H18.8887C21.641%203.93959%2021.6571%2010.0462%2018.8887%2014H20.7482C23.516%2010.0462%2023.4999%203.93959%2020.7482%200Z'%20fill='white'/%3e%3cpath%20d='M2.07027%203.05176e-05C-0.682028%203.93963%20-0.698142%2010.0463%202.07027%2014H3.92985C1.16208%2010.0463%201.1782%203.93963%203.92985%203.05176e-05H2.07027Z'%20fill='white'/%3e%3cpath%20d='M12.0135%2013.6771C11.815%2013.9298%2011.4089%2013.7892%2011.4089%2013.4683V10.3853C11.4089%2010.0114%2011.106%209.70849%2010.7321%209.70849H7.32818C7.05295%209.70849%206.89245%209.39716%207.05295%209.1735L9.29089%206.04026C9.61124%205.59228%209.29089%204.96963%208.73979%204.96963H4.62036C4.34513%204.96963%204.18463%204.65831%204.34512%204.43464L7.24632%200.372579C7.31013%200.283628%207.41262%200.230774%207.52155%200.230774H16.1671C16.4424%200.230774%2016.6029%200.5421%2016.4424%200.765765L14.2044%203.899
3801C13.8841%204.34698%2014.2044%204.96963%2014.7555%204.96963H18.1595C18.4418%204.96963%2018.6004%205.29514%2018.4257%205.51751L12.0142%2013.6777L12.0135%2013.6771Z'%20fill='white'/%3e%3c/svg%3e" alt="Vite icon" class="w-5 h-5 -translate-y-px shrink-0 hidden sm:block drop-shadow-md/70"><span class="text-xs translate-y-px font-medium font-mono leading-snug tracking-wide uppercase whitespace-nowrap overflow-hidden text-ellipsis text-shadow-md/50">ViteConf 2026 - October 15, Online</span><svg class="shrink-0 transition-transform duration-200 group-hover:translate-x-1" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect width="20" height="20" rx="4" fill="#08060D"></rect><rect x="0.5" y="0.5" width="19" height="19" rx="3.5" stroke="white" stroke-opacity="0.15"></rect><path d="M10 6L14 10L10 14" stroke="white" stroke-width="1.2" stroke-linejoin="round"></path><path d="M14 10L6 10" stroke="white" stroke-width="1.2" stroke-linejoin="round"></path></svg></div></div></a><button aria-label="Close banner" class="absolute right-2 top-1/2 -translate-y-1/2 z-20 p-2 text-white hover:opacity-70 transition-opacity" type="button"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="size-5 cursor-pointer"></svg></button></div><!--[--><!--]--><div class="relative w-full z-50" data-v-56d116fe data-v-5773249e><header class="wrapper px-6 py-5 flex items-center justify-between relative bg-white dark:bg-primary border-b border-stroke dark:border-nickel" data-v-5773249e><div class="flex gap-10 self-stretch" data-v-5773249e><a href="/" class="flex flex-col items-start justify-center -mx-2 px-2" data-v-5773249e><!--[--><!--]--><img class="h-4 block dark:hidden" src="/assets/vite-dark.D2ACe7TL.svg" alt="Vite" data-v-5773249e><img class="h-4 hidden dark:block" src="/assets/vite-light.t8GCa_VF.svg" alt="Vite" data-v-5773249e><!--[--><!--]--></a><div class="hidden lg:flex items-center gap-4" data-v-5773249e><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu" data-v-5773249e data-v-f4b59cd3><span id="main-nav-aria-label" class="visually-hidden" data-v-f4b59cd3> Main Navigation </span><!--[--><!--[--><a class="VPLink link flex items-center gap-1 px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-85 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis" href="/guide/" tabindex="0" data-v-f4b59cd3 data-v-fa76074b><!--[--><!----><span data-v-fa76074b>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link flex items-center gap-1 px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-85 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis" href="/config/" tabindex="0" data-v-f4b59cd3 data-v-fa76074b><!--[--><!----><span data-v-fa76074b>Config</span><!--]--></a><!--]--><!--[--><a class="VPLink link flex items-center gap-1 px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-85 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis" href="/plugins/" tabindex="0" data-v-f4b59cd3 data-v-fa76074b><!--[--><!----><span data-v-fa76074b>Plugins</span><!--]--></a><!--]--><!--[--><div class="VPFlyout relative flex items-center VPNavBarMenuGroup" data-v-f4b59cd3 data-v-c3b5d054><button type="button" class="flex items-center px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-70 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis" aria-haspopup="true" aria-expanded="false" data-v-c3b5d054><span class="flex items-center gap-1 leading-normal overflow-hidden" data-v-c3b5d054><!----><span class="overflow-hidden text-ellipsis" data-v-c3b5d054>Resources</span><span class="vpi-chevron-down text-sm shrink-0" data-v-c3b5d054></span></span></button><div class="menu" data-v-c3b5d054><div class="VPMenu rounded-sm p-3 min-w-32 border border-stroke dark:border-nickel bg-white dark:bg-primary shadow-lg max-h-[calc(100vh-var(--vp-nav-height))] overflow-y-auto" data-v-c3b5d054 data-v-c05e475a><div class="items" data-v-c05e475a><!--[--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="/team" data-v-c6088084><!--[--><!----><span data-v-c6088084>Team</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="/blog" data-v-c6088084><!--[--><!----><span data-v-c6088084>Blog</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="/releases" data-v-c6088084><!--[--><!----><span data-v-c6088084>Releases</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="/acknowledgements" data-v-c6088084><!--[--><!----><span data-v-c6088084>Acknowledgements</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://github.com/vitejs/.github/blob/main/CODE_OF_CONDUCT.md" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Code of Conduct</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://registry.vite.dev/plugins" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Plugin Registry</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://www.youtube.com/watch?v=bmWQqAKLgT4" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>The Documentary</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuGroup" data-v-c05e475a data-v-8e889628><!----><!--[--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://bsky.app/profile/vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Bluesky</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://elk.zone/m.webtoo.ls/@vite" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Mastodon</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://x.com/vite_js" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>X</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://chat.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Discord Chat</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://github.com/vitejs/awesome-vite" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Awesome Vite</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://viteconf.org" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>ViteConf</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://dev.to/t/vite" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>DEV Community</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout relative flex items-center VPNavBarMenuGroup" data-v-f4b59cd3 data-v-c3b5d054><button type="button" class="flex items-center px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-70 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis" aria-haspopup="true" aria-expanded="false" data-v-c3b5d054><span class="flex items-center gap-1 leading-normal overflow-hidden" data-v-c3b5d054><!----><span class="overflow-hidden text-ellipsis" data-v-c3b5d054>v8.3.1</span><span class="vpi-chevron-down text-sm shrink-0" data-v-c3b5d054></span></span></button><div class="menu" data-v-c3b5d054><div class="VPMenu rounded-sm p-3 min-w-32 border border-stroke dark:border-nickel bg-white dark:bg-primary shadow-lg max-h-[calc(100vh-var(--vp-nav-height))] overflow-y-auto" data-v-c3b5d054 data-v-c05e475a><div class="items" data-v-c05e475a><!--[--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Changelog</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c05e475a data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Contributing</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuGroup" data-v-c05e475a data-v-8e889628><!----><!--[--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://main.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Unreleased Docs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://v7.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Vite 7 Docs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://v6.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Vite 6 Docs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://v5.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Vite 5 Docs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://v4.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Vite 4 Docs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://v3.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Vite 3 Docs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-8e889628 data-v-c6088084><a class="VPLink link vp-external-link-icon flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://v2.vite.dev" target="_blank" rel="noreferrer" data-v-c6088084><!--[--><!----><span data-v-c6088084>Vite 2 Docs</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav></div></div><div class="flex items-center gap-2 lg:gap-4" data-v-5773249e><div class="hidden lg:flex items-center" data-v-5773249e><div class="VPNavBarSearch" data-v-5773249e data-v-e251291c><!--[--><button type="button" class="VPNavBarSearchButton" aria-label="Search" aria-keyshortcuts="/ control+k meta+k" data-v-e251291c data-v-86805374><span class="vpi-search" aria-hidden="true" data-v-86805374></span><span class="text" data-v-86805374>Search</span><span class="keys" aria-hidden="true" data-v-86805374><kbd class="key-cmd" data-v-86805374>â</kbd><kbd class="key-ctrl" data-v-86805374>Ctrl</kbd><kbd data-v-86805374>K</kbd></span></button><!----><!--]--><!----></div></div><div class="hidden lg:flex xl:hidden items-center gap-4" data-v-5773249e><div class="VPFlyout relative flex items-center VPNavBarExtra" data-v-5773249e data-v-942b3058 data-v-c3b5d054><button type="button" class="flex items-center px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-70 transition-
38opacity whitespace-nowrap overflow-hidden text-ellipsis" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-c3b5d054><span class="vpi-more-horizontal text-xl" data-v-c3b5d054></span></button><div class="menu" data-v-c3b5d054><div class="VPMenu rounded-sm p-3 min-w-32 border border-stroke dark:border-nickel bg-white dark:bg-primary shadow-lg max-h-[calc(100vh-var(--vp-nav-height))] overflow-y-auto" data-v-c3b5d054 data-v-c05e475a><!----><!--[--><!--[--><div class="group translations" data-v-942b3058><p class="trans-title" data-v-942b3058>English</p><!--[--><div class="VPMenuLink" data-v-942b3058 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://cn.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>ç®ä½ä¸æ</span><!--]--></a></div><div class="VPMenuLink" data-v-942b3058 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://ja.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>æ¥æ¬èª</span><!--]--></a></div><div class="VPMenuLink" data-v-942b3058 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://es.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>Español</span><!--]--></a></div><div class="VPMenuLink" data-v-942b3058 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://ko.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>íêµì´</span><!--]--></a></div><div class="VPMenuLink" data-v-942b3058 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://de.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>Deutsch</span><!--]--></a></div><!--]--></div><!----><div class="group" data-v-942b3058><div class="item social-links" data-v-942b3058><div class="VPSocialLinks social-links-list" data-v-942b3058 data-v-e0afa56d><!--[--><a class="VPSocialLink no-icon" href="https://bsky.app/profile/vite.dev" aria-label="bluesky" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://elk.zone/m.webtoo.ls/@vite" aria-label="mastodon" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://x.com/vite_js" aria-label="x" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://chat.vite.dev" aria-label="discord" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://github.com/vitejs/vite" aria-label="github" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a>
38<!--]--></div></div></div><!--]--><!--]--></div></div></div></div><div class="hidden xl:flex items-center gap-4" data-v-5773249e><!----><div class="VPFlyout relative flex items-center VPNavBarTranslations" data-v-5773249e data-v-3f10cd70 data-v-c3b5d054><button type="button" class="flex items-center px-3 py-2 text-base font-heading text-primary dark:text-white hover:opacity-70 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-c3b5d054><span class="flex items-center gap-1 leading-normal overflow-hidden" data-v-c3b5d054><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="shrink-0 mr-0.5" data-v-c3b5d054></svg><!----><span class="vpi-chevron-down text-sm shrink-0" data-v-c3b5d054></span></span></button><div class="menu" data-v-c3b5d054><div class="VPMenu rounded-sm p-3 min-w-32 border border-stroke dark:border-nickel bg-white dark:bg-primary shadow-lg max-h-[calc(100vh-var(--vp-nav-height))] overflow-y-auto" data-v-c3b5d054 data-v-c05e475a><!----><!--[--><!--[--><div class="items" data-v-3f10cd70><p class="title" data-v-3f10cd70>English</p><!--[--><div class="VPMenuLink" data-v-3f10cd70 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://cn.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>ç®ä½ä¸æ</span><!--]--></a></div><div class="VPMenuLink" data-v-3f10cd70 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://ja.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>æ¥æ¬èª</span><!--]--></a></div><div class="VPMenuLink" data-v-3f10cd70 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://es.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>Español</span><!--]--></a></div><div class="VPMenuLink" data-v-3f10cd70 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://ko.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>íêµì´</span><!--]--></a></div><div class="VPMenuLink" data-v-3f10cd70 data-v-c6088084><a class="VPLink link flex items-center justify-between rounded-md px-3 py-2 text-sm font-heading text-primary dark:text-white text-left whitespace-nowrap hover:opacity-70 transition-opacity" href="https://de.vite.dev/" rel="alternate" data-v-c6088084><!--[--><!----><span data-v-c6088084>Deutsch</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPSocialLinks VPNavBarSocialLinks" data-v-5773249e data-v-53944563 data-v-e0afa56d><!--[--><a class="VPSocialLink no-icon" href="https://bsky.app/profile/vite.dev" aria-label="bluesky" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://elk.zone/m.webtoo.ls/@vite" aria-label="mastodon" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://x.com/vite_js" aria-label="x" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://chat.vite.dev" aria-label="discord" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a><a class="VPSocialLink no-icon" href="https://github.com/vitejs/vite" aria-label="github" target="_blank" rel="me noopener" data-v-e0afa56d data-v-88df0d88><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" data-v-88df0d88></svg></a>
38<!--]--></div></div><button aria-label="Search" class="lg:hidden p-2 text-primary dark:text-white hover:opacity-70 transition-opacity cursor-pointer" type="button" data-v-5773249e><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="size-5" data-v-5773249e></svg></button><button aria-expanded="false" aria-controls="mobile-menu" aria-label="Toggle navigation menu" class="lg:hidden p-2 -mr-2 text-primary dark:text-white hover:opacity-70 transition-opacity cursor-pointer" type="button" data-v-5773249e><svg class="size-6 block dark:hidden" viewBox="0 0 18 8" xmlns="http://www.w3.org/2000/svg" data-v-5773249e><path d="M0 0.75H18" stroke="#08060D" stroke-width="1.5" data-v-5773249e></path><path d="M0 6.75H18" stroke="#08060D" stroke-width="1.5" data-v-5773249e></path></svg><svg class="size-6 hidden dark:block" viewBox="0 0 18 8" xmlns="http://www.w3.org/2000/svg" data-v-5773249e><path d="M0 0.75H18" stroke="#FFFFFF" stroke-width="1.5" data-v-5773249e></path><path d="M0 6.75H18" stroke="#FFFFFF" stroke-width="1.5" data-v-5773249e></path></svg></button></div></header><div class="wrapper relative h-0 tick-left tick-right" data-v-5773249e></div><!----></div><div style="position:relative;" data-v-56d116fe><div><div style="display:none;" hidden data-nosnippet>Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle</div><!--[--><div class="wrapper wrapper--ticks grid md:grid-cols-2 w-full border-nickel md:divide-x"><div class="flex flex-col p-10 justify-between gap-20 items-center md:items-start"><div class="flex flex-col gap-5 items-center md:items-start text-center md:text-left"><a class="flex items-center gap-2" href="https://voidzero.dev" target="_blank"><span class="text-grey text-xs font-mono uppercase tracking-wide">By</span><img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2091%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.3271%200C33.439%202.28882e-05%2036.6504%202.56908%2036.6504%207.5C36.6503%2012.4308%2033.4389%2015%2027.3271%2015C21.2156%2014.9999%2018.0245%2012.4307%2018.0244%207.5C18.0244%202.56915%2021.2155%209.15527e-05%2027.3271%200ZM70.0195%200C67.0714%204.22099%2067.0541%2010.7638%2070.0195%2015H68.0264C65.0603%2010.7639%2065.0777%204.22097%2068.0264%200H70.0195ZM88.2852%200C91.2333%204.22098%2091.2505%2010.7638%2088.2852%2015H86.293C89.259%2010.7639%2089.2417%204.22096%2086.293%200H88.2852ZM78.1562%200.0205078C82.2874%200.0206451%2085.6357%203.3695%2085.6357%207.5C85.6357%2011.6305%2082.2868%2014.9794%2078.1562%2014.9795C74.0256%2014.9795%2070.6768%2011.6306%2070.6768%207.5C70.6768%203.36942%2074.0257%200.0205078%2078.1562%200.0205078ZM9.13672%2010.6904L12.9072%200.249023H18.0664L12.3477%2014.751H5.71777L0%200.249023H5.30371L9.13672%2010.6904ZM43.5293%2014.751H38.5566V0.249023H43.5293V14.751ZM55.166%200.249023C60.2005%200.249039%2063.0801%202.52763%2063.0801%207.5C63.08%2012.4722%2060.1798%2014.7509%2055.1455%2014.751H46.0498V0.249023H55.166ZM82.7119%204.3584C82.6014%204.11057%2082.2689%204.06387%2082.0977%204.27441L75.6289%2012.209C75.4742%2012.3996%2075.5485%2012.6852%2075.7764%2012.7764C76.4462%2013.0443%2077.2392%2013.1768%2078.1562%2013.1768C81.5505%2013.1767%2083.2676%2011.3536%2083.2676%207.5C83.2676%206.23413%2083.0814%205.18989%2082.7119%204.3584ZM27.3271%203.56348C24.4475%203.56358%2023.1006%204.80673%2023.1006%207.5C23.1006%2010.1931%2024.4476%2011.4159%2027.3271%2011.416C30.2069%2011.416%2031.5537%2010.2139%2031.5537%207.5C31.5537%204.78593%2030.2069%203.56351%2027.3271%203.56348ZM51.0225%2011.2295H54.4619C56.8234%2011.2294%2057.9834%2010.2138%2057.9834%207.5C57.9834%204.78608%2056.8235%203.77064%2054.4619%203.77051H51.0225V11.2295ZM78.1562%201.84375C74.7425%201.84375%2073.0449%203.66709%2073.0449%207.5C73.0449%208.77074%2073.2294%209.82088%2073.5996%2010.6572C73.7095%2010.9057%2074.0426%2010.9517%2074.2139%2
38010.7412L80.6719%202.80566C80.8271%202.6151%2080.7518%202.32979%2080.5234%202.23926C79.8557%201.97479%2079.0664%201.84377%2078.1562%201.84375Z'%20fill='white'/%3e%3c/svg%3e" alt="VoidZero" class="h-2.5"></a><h1 class="text-white text-pretty max-w-[25rem]"> The Build Tool for the Web </h1><p class="text-white/70 md:text-lg max-w-[27rem] text-pretty"> Vite is a blazing fast frontend build tool powering the next generation of web applications. </p><div class="flex items-center gap-5 mt-8"><a href="/guide/" class="button button--primary inline-block w-fit"> Get Started </a><a href="https://github.com/vitejs/vite" target="_blank" rel="noopener noreferrer" class="button inline-block w-fit"> View on GitHub </a></div></div><div class="vp-doc hidden md:block w-full -mb-[16px]" style="--vp-code-tab-bg:var(--color-slate);--vp-code-block-bg:var(--color-slate);--vp-code-tab-divider:#000;" data-v-d042e6d8><div class="vp-code-group" data-v-d042e6d8><div class="tabs" data-v-d042e6d8><!--[--><!--[--><input id="tab-n92qx4-0" type="radio" name="code-group-tabs-n92qx4" checked data-v-d042e6d8><label for="tab-n92qx4-0" data-v-d042e6d8>npm</label><!--]--><!--[--><input id="tab-n92qx4-1" type="radio" name="code-group-tabs-n92qx4" data-v-d042e6d8><label for="tab-n92qx4-1" data-v-d042e6d8>Yarn</label><!--]--><!--[--><input id="tab-n92qx4-2" type="radio" name="code-group-tabs-n92qx4" data-v-d042e6d8><label for="tab-n92qx4-2" data-v-d042e6d8>pnpm</label><!--]--><!--[--><input id="tab-n92qx4-3" type="radio" name="code-group-tabs-n92qx4" data-v-d042e6d8><label for="tab-n92qx4-3" data-v-d042e6d8>Bun</label><!--]--><!--[--><input id="tab-n92qx4-4" type="radio" name="code-group-tabs-n92qx4" data-v-d042e6d8><label for="tab-n92qx4-4" data-v-d042e6d8>Deno</label><!--]--><!--]--></div><!--[--><div class="language-bash active" data-v-d042e6d8><button class="copy" title="Copy code" data-v-d042e6d8></button><span class="lang" data-v-d042e6d8>bash</span><pre data-v-d042e6d8><code data-v-d042e6d8><span style="user-select:none;-webkit-user-select:none;" data-v-d042e6d8>$ </span><span data-v-d042e6d8>npm create vite@latest</span></code></pre></div><div class="language-bash" data-v-d042e6d8><button class="copy" title="Copy code" data-v-d042e6d8></button><span class="lang" data-v-d042e6d8>bash</span><pre data-v-d042e6d8><code data-v-d042e6d8><span style="user-select:none;-webkit-user-select:none;" data-v-d042e6d8>$ </span><span data-v-d042e6d8>yarn create vite</span></code></pre></div><div class="language-bash" data-v-d042e6d8><button class="copy" title="Copy code" data-v-d042e6d8></button><span class="lang" data-v-d042e6d8>bash</span><pre data-v-d042e6d8><code data-v-d042e6d8><span style="user-select:none;-webkit-user-select:none;" data-v-d042e6d8>$ </span><span data-v-d042e6d8>pnpm create vite</span></code></pre></div><div class="language-bash" data-v-d042e6d8><button class="copy" title="Copy code" data-v-d042e6d8></button><span class="lang" data-v-d042e6d8>bash</span><pre data-v-d042e6d8><code data-v-d042e6d8><span style="user-select:none;-webkit-user-select:none;" data-v-d042e6d8>$ </span><span data-v-d042e6d8>bun create vite</span></code></pre></div><div class="language-bash" data-v-d042e6d8><button class="copy" title="Copy code" data-v-d042e6d8></button><span class="lang" data-v-d042e6d8>bash</span><pre data-v-d042e6d8><code data-v-d042e6d8><span style="user-select:none;-webkit-user-select:none;" data-v-d042e6d8>$ </span><span data-v-d042e6d8>deno init --npm vite</span></code></pre></div><!--]--></div></div></div><div class="flex flex-col sm:min-h-[30rem]"><div class="relative px-10 pb-10 md:pt-10 h-full flex flex-col justify-center overflow-clip"><div class="touch-none select-none"><canvas width="641" height="629" class="w-full"></canvas></div></div></div></div><!--[--><section class="wrapper wrapper--ticks border-t px-10 py-6 md:py-8 flex flex-col justify-center gap-5" data-v-8a57af01><h6 class="text-center md:text-start text-white" data-v-8a57af01>Trusted by the world's best software teams</h6></section><section class="wrapper wrapper--ticks border-t" data-v-8a57af01><div class="overflow-hidden py-6" data-v-8a57af01 style="--c06da744:80;--v6e59392c:120;--v685e36c4:6;" data-v-0fe532eb><div class="flex items-center justify-evenly" data-v-0fe532eb><!--[--><!--[--><div class="logo-container-static flex items-center justify-center" style="width:120px;height:25px;" data-v-0fe532eb><img loading="lazy" src="/trusted-by/openai.svg" alt="openai" class="max-w-full max-h-full object-contain grayscale" data-v-0fe532eb></div><div class="divider" data-v-0fe532eb></div><!--]--><!--[--><div class="logo-container-static flex items-center justify-center" style="width:120px;height:25px;" data-v-0fe532eb><img loading="lazy" src="/trusted-by/shopify.svg" alt="shopify" class="max-w-full max-h-full object-contain grayscale" data-v-0fe532eb></div><div class="divider" data-v-0fe532eb></div><!--]--><!--[--><div class="logo-container-static flex items-center justify-center" style="width:120px;height:25px;" data-v-0fe532eb><img loading="lazy" src="/trusted-by/stripe.svg" alt="stripe" class="max-w-full max-h-full object-contain grayscale" data-v-0fe532eb></div><div class="divider" data-v-0fe532eb></div><!--]--><!--[--><div class="logo-container-static flex items-center justify-center" style="width:120px;height:25px;" data-v-0fe532eb>
38<img loading="lazy" src="/trusted-by/linear.svg" alt="linear" class="max-w-full max-h-full object-contain grayscale" data-v-0fe532eb></div><div class="divider" data-v-0fe532eb></div><!--]--><!--[--><div class="logo-container-static flex items-center justify-center" style="width:120px;height:25px;" data-v-0fe532eb><img loading="lazy" src="/trusted-by/clickup.svg" alt="clickup" class="max-w-full max-h-full object-contain grayscale" data-v-0fe532eb></div><div class="divider" data-v-0fe532eb></div><!--]--><!--[--><div class="logo-container-static flex items-center justify-center" style="width:120px;height:25px;" data-v-0fe532eb><img loading="lazy" src="/trusted-by/wiz.svg" alt="wiz" class="max-w-full max-h-full object-contain grayscale" data-v-0fe532eb></div><!----><!--]--><!--]--></div></div></section><!--]--><section class="wrapper border-t px-5 sm:px-10 py-14 sm:py-28 flex flex-col justify-center gap-3 text-center items-center"><h2 class="text-white max-w-2xl text-balance text-center">Redefining developer experience</h2><p class="max-w-md text-white/70 text-balance sm:text-pretty">Vite makes web development enjoyable again</p></section><section class="wrapper wrapper--ticks border-t grid lg:grid-cols-2 divide-x divide-y divide-nickel"><div class="flex flex-col gap-3 justify-between"><div class="p-5 sm:p-10 flex flex-col gap-3"><h5 class="text-balance sm:text-pretty text-white"> Instant Server Start </h5><p class="sm:max-w-[28rem] text-pretty"> On demand source file serving over native ESM, with blazing fast dependency pre-bundling. </p></div><div class="relative p-10 sm:p-15 flex justify-center bg-[#370a7f]"><img class="absolute inset-0 h-full w-full object-cover" src="/assets/vite-featurepanel-1-background.BHnDg8j4.jpg" alt="" inert loading="lazy"><img class="z-1" src="/assets/vite-featurepanel-1-terminal.CQVUoUSU.svg" width="493" height="230" alt="Terminal" inert loading="lazy"></div></div><div class="flex flex-col gap-3 justify-between border-r-0"><div class="p-5 sm:p-10 flex flex-col gap-3"><h5 class="text-white">Lightning Fast HMR</h5><p class="max-w-[26rem] text-pretty"> Instantly reflect changes as you save, no matter how big your app is. </p></div><div class="flex justify-end"><img src="/assets/vite-featurepanel-2-terminal.ChpAU6sR.png" width="1126" height="734" class="md:max-w-[80%]" inert loading="lazy" alt="lightning fast hot module replacement"></div></div><div class="p-5 sm:p-10 pb-0 sm:pb-0 flex flex-col gap-3 lg:border-b-0"><h5 class="text-white">Rich Features Out of the Box</h5><p class="sm:max-w-[28rem] text-pretty"> TypeScript, JSX, CSS, Workers, WebAssembly... and more just a plugin away. </p><div class="touch-none select-none"><canvas width="563" height="300" class="w-full"></canvas></div></div><div class="flex flex-col gap-3 justify-between border-r-0 border-b-0"><div class="p-5 sm:p-10 flex flex-col gap-3"><h5 class="text-white">Optimized Build</h5><p class="max-w-[25rem] text-pretty"> Advanced tree-shaking, built-in minification, fine-grained chunking control powered by Rolldown. </p></div><div class="relative p-10 sm:p-15 flex justify-center bg-[#370a7f]"><img class="absolute inset-0 h-full w-full object-cover" src="/assets/vite-featurepanel-4-background.Bnx0RZk-.jpg" alt="" inert loading="lazy"><img class="z-1" src="/assets/vite-featurepanel-4-terminal.BRnxuy_J.svg" width="436" height="209" inert loading="lazy" alt="optimized build"></div></div></section><section class="wrapper border-t px-5 sm:px-10 py-14 sm:py-28 flex flex-col justify-center gap-3 text-center items-center"><h2 class="text-white max-w-2xl text-balance text-center">A shared foundation to build upon</h2><!----></section><section class="wrapper wrapper--ticks border-t grid lg:grid-cols-2 divide-x divide-y divide-nickel"><div class="p-5 sm:p-10 flex flex-col gap-3"><h5 class="text-balance sm:text-pretty text-white"> Flexible Plugin System </h5><p class="sm:max-w-[28rem] text-pretty"> Vite plugins extends Rollup's well-designed plugin interface with a few extra Vite-specific options. </p><div class="touch-none select-none"><canvas width="640" height="300" class="w-[calc(100%_+_2.5rem)] mt-5 -mx-5"></canvas></div></div><div class="flex flex-col gap-3 border-r-0 justify-between"><div class="p-5 sm:p-10 flex flex-col gap-3"><h5 class="text-white">Fully Typed API</h5><p class="max-w-[26rem] text-pretty">Designed to be built on top of.</p></div><div class="relative p-5 sm:p-10 flex justify-center bg-[#370a7f]"><img class="absolute inset-0 h-full w-full object-cover" src="/assets/vite-featurepanel-4-background.Bnx0RZk-.jpg" alt="" inert loading="lazy"><img class="z-1" src="/assets/vite-typed-api.B7gyuuaS.svg" width="454" height="252" inert loading="lazy" alt="typed api"></div></div><div class="p-5 sm:p-10 flex flex-col gap-3 lg:border-b-0"><h5 class="text-white">
38First class SSR Support</h5><p class="sm:max-w-[28rem] text-pretty mb-12 sm:mb-16"> It's never been easier to setup custom SSR (Server-Side Rendering), or build your own SSR framework. </p><img src="/assets/vite-ssr-support.DvdwoLgL.png" width="1008" height="466" alt="SSR Support" loading="lazy" class="w-full px-5"></div><div class="flex flex-col gap-3 justify-between"><div class="p-5 sm:p-10 flex flex-col gap-3"><h5 class="text-white">Continuous ecosystem integration</h5><p class="max-w-[25rem] text-pretty"> Our CI continuously tests Vite changes against downstream projects, allowing us to improve Vite with stability and confidence. </p></div><div class="px-5 sm:px-10 flex justify-center"><img src="/assets/vite-ci.rfkpyz0p.svg" width="476" height="272" inert loading="lazy" alt="continuous ecosystem integration"></div></div></section><section class="wrapper border-t px-5 sm:px-10 py-14 sm:py-28 flex flex-col justify-center gap-3 text-center items-center"><h2 class="text-white max-w-2xl text-balance text-center">Powering your favorite frameworks and tools</h2><!----></section><section class="wrapper wrapper--ticks border-t py-8 sm:py-16 px-5 sm:px-10"><img src="/assets/vite-frameworks-mobile.BooA3_E6.png" alt="Frameworks powered by Vite" loading="lazy" class="w-full block sm:hidden"><img src="/assets/vite-frameworks.D3X8o4O8.png" alt="Frameworks powered by Vite" loading="lazy" class="w-full hidden sm:block"></section><div class="wrapper wrapper--ticks border-t pt-14 sm:pt-30 px-5 sm:px-10" data-v-b8c764af><div class="flex flex-col sm:flex-row justify-between items-center gap-8 sm:gap-20 text-center sm:text-left" data-v-b8c764af><div class="flex flex-col gap-3" data-v-b8c764af><h3 class="text-white max-w-xl text-balance" data-v-b8c764af>Loved by the community</h3><p class="max-w-md text-white/70 text-balance" data-v-b8c764af> Don't take our word for it - listen to what Vite community members have to say. </p></div><div class="flex gap-8 sm:gap-12 items-start justify-center sm:justify-start sm:pr-20" data-v-b8c764af><div class="flex flex-col gap-3" data-v-b8c764af><h2 class="text-white" data-v-b8c764af>80k+</h2><p class="text-grey flex items-center gap-2" data-v-b8c764af><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="20px" height="20px" viewBox="0 0 16 16" data-v-b8c764af></svg> Github Stars </p></div><div class="flex flex-col gap-3" data-v-b8c764af><h2 class="text-white" data-v-b8c764af>80m+</h2><p class="text-grey" data-v-b8c764af>Weekly NPM downloads</p></div></div></div><div class="pt-14 sm:pt-30 h-[50rem] overflow-clip [mask-image:linear-gradient(to_bottom,black_70%,transparent_100%)]" data-v-b8c764af><div class="columns-1 sm:columns-2 lg:columns-3 gap-5" data-v-b8c764af><!--[--><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>I'm loving what Vite enables. We've found building SolidStart that it is less a metaframework but a system of symbiotic Vite plugins. While built with SolidJS in mind, they should scale from our simplest template to opinionated starter. We're building an ecosystem on Vite.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/1810837163447308292/8Piov0f6_400x400.jpg" alt="Ryan Carniato" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Ryan Carniato</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@RyanCarniato</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Vite is basically the united nations of JavaScript at this point. I'll be there as a representative of Sveltelandia</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/557940120184041473/bFyXy8Pu_400x400.jpeg" alt="Rich Harris" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Rich Harris</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@Rich_Harris</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Each and every time I use Vite, I feel a true sense of pure and unbridled joy.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/1691627325794725888/voQFcYjY_400x400.jpg" alt="David East" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>David East</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@_davideast</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>It's also a great platform to build a framework on since it provides a pluggable dev environment.</p><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Community is amazing too.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/754886061872979968/BzaOWhs1_400x400.jpg" alt="Mark Dalgleish" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Mark Dalgleish</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@markdalgleish</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Every time I suspect I've hit the bounds of what Vite can do, I end up being wrong.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/1374778373239681025/Sc9ehtAr_400x400.jpg" alt="Jason Miller" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Jason Miller</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@_developit</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Vite has been a game changer for the industry.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/1911613315765133312/HVkULegC_400x400.jpg" alt="David Cramer" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>David Cramer</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@zeeg</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>I am so excited to see so many great frameworks teaming up on top of vite. So many will benef
38it. â¤ï¸ to the vite team.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/3380865881/f73b3687ff39b795db05fcaf35972270_400x400.jpeg" alt="Dion Almaer" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Dion Almaer</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@dalmaer</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Vite is gonna eat the (JavaScript) world.</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://pbs.twimg.com/profile_images/1910252462126313472/gXgT-jxL_400x400.jpg" alt="Christoph Nakazawa" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Christoph Nakazawa</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@cpojer</span></div></div></div></div><div class="break-inside-avoid mb-5" data-v-b8c764af><div class="testimonial-card relative overflow-clip isolate rounded-lg p-6 sm:px-8 sm:py-10 flex flex-col gap-6 before:content-[''] before:absolute before:inset-0 before:opacity-0 before:z-0 before:pointer-events-none before:transition-opacity before:duration-100 before:ease-in-out after:content-[''] after:absolute after:inset-px after:z-[1] after:rounded-lg after:bg-slate after:border after:border-nickel after:transition-[border-color,background] after:duration-100 after:ease-in-out hover:before:opacity-100 hover:after:border-transparent" data-v-b8c764af><div class="relative z-[2] flex flex-col gap-4" data-v-b8c764af><!--[--><p class="text-white/70 leading-relaxed text-sm sm:text-base" data-v-b8c764af>Wow, wow, wow, wow, wow, wow, Vite is..... Vite is.... Wow ð¤¤ð¤¯ð</p><!--]--></div><div class="relative z-[2] flex items-center gap-5 mt-auto" data-v-b8c764af><img src="https://avatars.githubusercontent.com/u/13629190?v=4" alt="Nikolaj" class="w-12 h-12 rounded-sm object-cover flex-shrink-0" loading="lazy" data-v-b8c764af><div class="flex flex-col" data-v-b8c764af><span class="text-grey text-sm font-mono" data-v-b8c764af>Nikolaj</span><span class="text-biege text-sm font-mono" data-v-b8c764af>@lopugit</span></div></div></div></div><!--]--></div></div></div><!--[--><div class="wrapper wrapper--ticks border-t py-14 sm:py-30 px-10" data-v-755ff878><div class="flex flex-col md:flex-row justify-between items-center gap-8 md:gap-20 text-center md:text-left md:pl-15" data-v-755ff878><div class="flex flex-col gap-3" data-v-755ff878><h3 class="text-white max-w-xl text-balance" data-v-755ff878>Free & open source</h3><p class="max-w-lg text-white/70 text-balance" data-v-755ff878>Vite is MIT Licensed and will always be free and open source. This is made possible by our contributors and these companies:</p><a href="https://github.com/sponsors/vitejs" target="_blank" class="button w-fit mt-8 mx-auto md:mx-0" data-v-755ff878>Become a Sponsor</a></div><a class="flex gap-8 md:gap-12 items-start justify-center md:justify-start md:pr-25" href="https://voidzero.dev" target="_blank" data-v-755ff878><img src="/assets/vite-by-voidzero.D7bblMgo.png" alt="Brought to you by VoidZero" class="h-44 max-w-full object-contain mt-10 md:mt-0" data-v-755ff878></a></div></div><!----><!--]--><section class="wrapper wrapper--ticks border-t h-16 sm:h-30"></section><footer class="bg-primary" data-theme="dark"><section class="wrapper"><div class="relative w-full"><img src="/assets/footer-background.BIgtbvhx.jpg" alt="Footer background" inert loading="lazy" class="absolute inset-0 w-full h-full object-cover z-0"><div class="relative z-10 w-full sm:w-2xl flex flex-col justify-start items-center gap-5 px-5 sm:px-0 py-10 md:py-30 mx-auto"><h2 class="text-center text-white text-balance drop-shadow-sm/70">Start building with Vite</h2><p class="text-white max-w-md text-balance text-center drop-shadow-sm/70">Prepare for a development environment that can finally keep pace with the speed of your mind.</p>
38<a href="/guide/" class="button button--white mt-5">Get Started</a></div></div></section><div><section class="wrapper wrapper--ticks border-t"><div class="px-5 md:px-24 pt-10 md:pt-16 pb-16 md:pb-40 flex flex-col md:flex-row gap-10 md:gap-0 md:justify-between"><div class="flex flex-col md:flex-row gap-10 md:gap-20"><!--[--><div><p class="text-[var(--vp-c-text-2)] text-xs font-mono uppercase tracking-wide mb-8">Vite</p><ul class="flex flex-col gap-3"><!--[--><li><a href="/guide/" class="text-[var(--vp-c-text-1)] text-base">Guide</a></li><li><a href="/config/" class="text-[var(--vp-c-text-1)] text-base">Config</a></li><li><a href="/plugins/" class="text-[var(--vp-c-text-1)] text-base">Plugins</a></li><!--]--></ul></div><div><p class="text-[var(--vp-c-text-2)] text-xs font-mono uppercase tracking-wide mb-8">Resources</p><ul class="flex flex-col gap-3"><!--[--><li><a href="/team" class="text-[var(--vp-c-text-1)] text-base">Team</a></li><li><a href="/blog" class="text-[var(--vp-c-text-1)] text-base">Blog</a></li><li><a href="https://github.com/vitejs/vite/releases" class="text-[var(--vp-c-text-1)] text-base">Releases</a></li><!--]--></ul></div><div><p class="text-[var(--vp-c-text-2)] text-xs font-mono uppercase tracking-wide mb-8">Versions</p><ul class="flex flex-col gap-3"><!--[--><li><a href="https://main.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Unreleased Docs</a></li><li><a href="https://v7.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Vite 7 Docs</a></li><li><a href="https://v6.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Vite 6 Docs</a></li><li><a href="https://v5.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Vite 5 Docs</a></li><li><a href="https://v4.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Vite 4 Docs</a></li><li><a href="https://v3.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Vite 3 Docs</a></li><li><a href="https://v2.vite.dev" class="text-[var(--vp-c-text-1)] text-base">Vite 2 Docs</a></li><!--]--></ul></div><!--]--></div><div><p class="text-[var(--vp-c-text-2)] text-xs font-mono uppercase tracking-wide mb-8">Social</p><ul class="flex flex-col gap-3"><!--[--><li><a href="https://github.com/vitejs/vite" class="text-[var(--vp-c-text-1)] text-base flex gap-3 items-center" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="size-[18px]" aria-label="GitHub"></svg> GitHub</a></li><li><a href="https://chat.vite.dev" class="text-[var(--vp-c-text-1)] text-base flex gap-3 items-center" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="size-[18px]" aria-label="Discord"></svg> Discord</a></li><li><a href="https://bsky.app/profile/vite.dev" class="text-[var(--vp-c-text-1)] text-base flex gap-3 items-center" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="size-[18px]" aria-label="Bluesky"></svg> Bluesky</a></li><li><a href="https://x.com/vite_js" class="text-[var(--vp-c-text-1)] text-base flex gap-3 items-center" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="1em" height="1em" viewBox="0 0 16 16" class="size-[18px]" aria-label="X.com"></svg> X.com</a></li><!--]--></ul></div></div></section><section class="wrapper wrapper--ticks border-t py-5 px-5 md:px-24 flex flex-col md:flex-row gap-3 md:gap-0 justify-between items-start md:items-center"><p class="text-sm">© 2019-present VoidZero Inc. and Vite contributors. (39ddf7cc)</p><div class="gap-10 text-sm hidden md:flex"></div></section></div></footer><!--]--></div></div><!--[--><!--]--></div></div> 39 40 41 </body> 42</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.