Modern Vue stack 2022 with Micro front end & Monorepo π.
Joyful development experience π.
The main branch will keep clean for quickly creating Vue3 web app.
Monorepo architecture please visit branch monorepo.
-
β‘οΈ Build Optimization with compress
-
β‘οΈ CDN by Uploading static files to OSS
-
π¦Ύ Environmental distinction
-
π¦Ύ Monorepo by Rush
-
π¨ Commitlint
-
π¨ Formatting with prettier
-
π File based routing
-
π¦ Components auto importing
-
π Layout system
-
π² PWA
-
π¨ TailwindCSS - A utility-first CSS framework for rapid UI development.
-
π I18n ready
-
π Markdown Support
-
π₯ Use the new
<script setup>syntax -
π¨ Server-side generation (SSG) via vite-ssg
-
π¦ Critical CSS via critters
-
π¦Ύ TypeScript, of course
-
βοΈ Unit Testing with Vitest, E2E Testing with Cypress on GitHub Actions
-
βοΈ Deploy on Netlify, zero-config
-
π¦ Extend Script Setup Component Name to co-operate with Vue Devtools
example:
<template>
<div class="app">
<RouterView />
</div>
</template>
<script setup lang="ts" name="App"></script>We have removed two features
APIs auto importandWindiCSSsince 2022.02.24. For the reason:
TailwindCSS V3is fast enough nowAPIs auto importmight be overwhelming in some scenarios when your projects got large
// types.ts
export interface User {
username: string
password: string
avatar?: string
}<script setup lang="ts">
import type { User } from '~/types'
defineProps<User>()
</script>
<template>...</template>- TailwindCSS - lighter and faster, with a bunch of additional features!
- Iconify - use icons from any icon sets πIcΓ΄nes
unplugin-icons- icons as Vue components
- Vue Router
vite-plugin-pages- file system based routingvite-plugin-vue-layouts- layouts for pages
- Pinia - Intuitive, type safe, light and flexible Store for Vue using the composition api
unplugin-vue-components- components auto importvite-plugin-pwa- PWAvite-plugin-md- Markdown as components / components in Markdownmarkdown-it-prism- Prism for syntax highlightingprism-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
- Use Composition API with
<script setup>SFC syntax - ESLint with @antfu/eslint-config, single quotes, no semi.
- TypeScript
- Vitest - Unit testing powered by Vite
- Cypress - E2E testing
- pnpm - fast, disk space efficient package manager
vite-ssg- Server-side generation- critters - Critical CSS
- Netlify - zero-config deployment
- VS Code Extensions
- Vite - Fire up Vite server automatically
- Volar - Vue
3
<script setup>IDE support - Iconify IntelliSense - Icon inline display and autocomplete
- i18n Ally - All in one i18n support
- ESLint
Requires Node >=14
Create a repo from this template on GitHub.
If you prefer to do it manually with the cleaner git history
pnpm i
pnpm dev
To build the App, run
pnpm build
With Env:
pnpm build:test
And you will see the generated file in dist that ready to be served.
enjoy :)