Mocking up web app with Vitesse(speed)
with modular design pattern.
This adds the NaiveUI component library to Vitesse, working with Static Site Generation (SSG).
If you are really into the "Vitesse" starter template created by Anthony Fu (Vue core team member) but want to use the clean architectural pattern instead of monolithic architecture, then you can clone this repo and use your own project. If you want a quick introduction concept, you can read this very short blog post.
π File based routing
π Layout system
π² PWA
π¨ Tailwind CSS V3 - next generation utility-first CSS framework
π Markdown Support
π₯ Use the new <script setup>
syntax
π€π» Reactivity Transform enabled
π₯ APIs auto importing - use Composition API and others directly
π¨ Static-site generation (SSG) via vite-ssg
π¦ Critical CSS via critters
π¦Ύ TypeScript, of course
βοΈ Unit Testing with Vitest on GitHub Actions
βοΈ Deploy on Netlify, zero-config
unplugin-icons
- icons as Vue componentsvite-plugin-pages
- file system based routingvite-plugin-vue-layouts
- layouts for pagesunplugin-vue-components
- components auto importunplugin-auto-import
- Directly use Vue Composition API and others without importingvite-plugin-pwa
- PWAvite-plugin-vue-markdown
- Markdown as components / components in Markdownmarkdown-it-prism
- Prism for syntax highlightingprism-theme-vars
- customizable Prism.js theme using CSS variables@vueuse/head
- manipulate document head reactivelyvite-ssg-sitemap
- Sitemap generatorvite-plugin-vue-inspector
- jump to local IDE source code while click the element of browser automatically<script setup>
SFC syntaxvite-ssg
- Static-site generation<script setup>
IDE supportAs 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!
This project requires Node == 17.6.0
Create a repo from this template on GitHub.
If you prefer to do it manually with the cleaner git history
npx degit arijs/vitesse-modular-naiveui 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
LICENSE
App.vue
vite.config.ts
public
.github
folder which contains the funding infoapollo.config.js
if you use GraphQL APIsrc/common/ApolloClient.ts
if you use GraphQL APIAnd, enjoy :)
Just run and visit http://localhost:3333
pnpm dev
To build the App, run
pnpm build
And you will see the generated file in dist
that ready to be served.
/src
foldercomponents/
modules/
pages/
stores/
common/layouts
foldercommon/styles
folder and import them into main.css
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 -p
flag.
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 maintains your own forks. (see community maintained variation forks)