vitesse-ssr-template
vitesse-ssr-template copied to clipboard
π Opinionated Vue + Vite Starter Template with SSR in Node.js
Vitesse SSR
Vue + Vite + SSR template based on @antfu's Vitesse with
vite-ssr
.
Features
-
π File based routing
-
π¦ Components auto importing
-
π Layout system
-
π² PWA
-
π¨ Windi CSS - on-demand Tailwind CSS with speed
-
π Use icons from any icon sets, with no compromise
-
π I18n ready
-
π Markdown Support
-
π₯ Use the new
<script setup>
style -
π¨ Server-side rendering (SSR) in Node.js via vite-ssr
-
π¦Ύ TypeScript, of course
-
βοΈ Deploy on Vercel, minimal config
Pre-packed
UI Frameworks
-
Windi CSS (On-demand TailwindCSS) - lighter and faster, with a bundle additional features!
- Windi CSS Typography - similar to Tailwind CSS Typography but for Windi CSS
Icons
- Iconify - use icons from any icon sets πIcΓ΄nes
-
vite-plugin-icons
- icons as Vue components
Plugins
-
Vue Router
-
vite-plugin-pages
- file system based routing -
vite-plugin-vue-layouts
- layouts for pages
-
-
vite-plugin-components
- components auto import -
vite-plugin-pwa
- PWA -
vite-plugin-windicss
- WindiCSS support -
vite-plugin-md
- Markdown as components / components in Markdown-
markdown-it-prism
- Prism for syntax highlighting -
prism-theme-vars
- customizable Prism.js theme using CSS variables
-
-
Vue I18n - Internationalization
-
vite-plugin-vue-i18n
- Vite plugin for Vue I18n
-
- VueUse - collection of useful composition APIs
-
@vueuse/head
- manipulate document head reactively
Coding Style
- Use Composition API with
<script setup>
SFC - ESLint with @antfu/eslint-config-vue, single quotes, no semi.
Dev tools
- TypeScript
- pnpm - fast, disk space efficient package manager
-
vite-ssr
- Server-side rendering - Vercel - deploy
- VS Code Extensions
Variations
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 are also welcome!
- vitesse-lite by @kn0wn
- vitesse-addons by johncampionjr - additional options for integrations, including Prettier and Storybook
Try it now!
GitHub Template
Create a repo from this template on GitHub.
Clone to local
If you prefer to do it manually with the cleaner git history
npx degit frandiox/vitesse-ssr-template my-vitesse-app
cd my-vitesse-app
pnpm i # If you don't have pnpm installed, run: npm install -g pnpm
Checklist
When you use this template, try follow the checklist to update your info properly
- [ ] Add a
name
field inpackage.json
- [ ] Change the author name in
LICENSE
- [ ] Change the title in
App.vue
- [ ] Change the favicon in
public
- [ ] Remove the
.github
folder which contains the funding info - [ ] Clean up the READMEs and remove routes
And, enjoy :)
Usage
Development
Just run and visit http://localhost:3333
pnpm dev # SSR development
pnpm dev:spa # SPA without SSR
Build
To build the App, run
pnpm build
And you will see the generated files in dist
, and some of these files will be moved to serverless
for deployment.
Deploy on Vercel
Go to Vercel and install its CLI. Then:
pnpm preview # Simulate Vercel environment locally
pnpm deploy
pnpm deploy:prod
Why
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 maintains your own forks. (see community maintained variation forks)