Mocking up web app with Vitesse(speed)
Note: This template is created during the early transition of Vue 3 and Vite. At this moment, if you are seeking for better Vue developer experience and more consistent maintenance, we recommend using Nuxt 3 instead (it also works perfectly with SPA or SSG as needed). This template still serves as a reference, but expect slower updates.
English | 简体中文
🎨 UnoCSS - the instant on-demand atomic CSS engine
🔥 Use the new
📥 APIs auto importing - use Composition API and others directly
🖨 Static-site generation (SSG) via vite-ssg
🦔 Critical CSS via critters
🦾 TypeScript, of course
☁️ Deploy on Netlify, zero-config
- UnoCSS - The instant on-demand atomic CSS engine.
- Vue Router
- Pinia - Intuitive, type safe, light and flexible Store for Vue using the composition api
unplugin-vue-components- components auto import
unplugin-auto-import- Directly use Vue Composition API and others without importing
unplugin-vue-macros- Explore and extend more macros and syntax sugar to Vue.
unplugin-vue-markdown- Markdown as components / components in Markdown
- Vue I18n - Internationalization
unplugin-vue-i18n- unplugin for Vue I18n
- VueUse - collection of useful composition APIs
vite-ssg-sitemap- Sitemap generator
@vueuse/head- manipulate document head reactively
vite-plugin-webfont-dl- Zero-config webfont (Google Fonts) downloader and injector to improve website's performance.
vite-plugin-vue-devtools- Designed to enhance the Vue developer experience.
- Use Composition API with
<script setup>SFC syntax
- ESLint with @antfu/eslint-config, single quotes, no semi.
- Vitest - Unit testing powered by Vite
- Cypress - E2E testing
- pnpm - fast, disk space efficient package manager
vite-ssg- Static-site generation
- critters - Critical CSS
- Netlify - zero-config deployment
- VS Code Extensions
As this template is strongly opinionated, the following provides a curated list for community-maintained variations with different preferences and feature sets. Check them out as well. PR to add yours is also welcome!
- vitesse-lite - Lightweight version of Vitesse
- vitesse-nuxt3 - Vitesse for Nuxt 3
- vitesse-nuxt-bridge - Vitesse for Nuxt 2 with Bridge
- vitesse-webext - WebExtension Vite starter template
- vitesse-ssr-template by @frandiox - Vitesse with SSR
- vitailse by @zynth17 - Like Vitesse but with TailwindCSS
- vitesse-modernized-chrome-ext by @xiaoluoboding - ⚡️ Modernized Chrome Extension Manifest V3 Vite Starter Template
- vitesse-stackter-clean-architect by @shamscorner - A modular clean architecture pattern in vitesse template
- vitesse-enterprise by @FranciscoKloganB - Consistent coding styles regardless of team-size.
- vitecamp by @nekobc1998923 - Like Vitesse but without SSG/SSR/File based routing, includes Element Plus
- vitesse-h5 by @YunYouJun - Vitesse for Mobile
- bat by @olgam4 - Vitesse for SolidJS
- vitesse-solid by @xbmlz - Vitesse for SolidJS, build with
SolidStart, includes UnoCSS and HopeUI.
Vitesse requires Node >=14.18
If you prefer to do it manually with the cleaner git history
npx degit antfu/vitesse my-vitesse-app cd my-vitesse-app pnpm i # If you don't have pnpm installed, run: npm install -g pnpm
When you use this template, try follow the checklist to update your info properly
- Change the author name in
- Change the title in
- Change the hostname in
- Change the favicon in
- Remove the
.githubfolder which contains the funding info
- Clean up the READMEs and remove routes
And, enjoy :)
Just run and visit http://localhost:3333
To build the App, run
And you will see the generated file in
dist that ready to be served.
Go to Netlify and select your clone,
OK along the way, and your App will be live in a minute.
First, build the vitesse image by opening the terminal in the project's root directory.
docker buildx build . -t vitesse:latest
Run the image and specify port mapping with the
docker run --rm -it -p 8080:80 vitesse:latest
I have created several Vite apps recently. Setting the configs up is kinda the bottleneck for me to make the ideas simply come true within a very short time.
So I made this starter template for myself to create apps more easily, along with some good practices that I have learned from making those apps. It's strongly opinionated, but feel free to tweak it or even maintain your own forks. (see community maintained variation forks)