Mocking up mobile web app with Vitesse-H5(speed)
English | ็ฎไฝไธญๆ
Due to my work, I mainly write some mobile related applications. I also write some small tools in my spare time, such as air-conditioner, cook, your-university and so on. Most of their traffic comes from mobile, so mobile adaptation is essential.
There are also some more appropriate strategies and practices for mobile.
So I created this template to document what I think are the best practices for mobile web apps, inspired by vitesse.
-
๐ File based routing
-
๐ Layout system
-
๐จ UnoCSS - the instant on-demand atomic CSS engine
-
๐ I18n ready
-
๐ Markdown Support
-
๐ฅ Use the new
<script setup>
syntax -
๐ฅ 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
- UnoCSS - The instant on-demand atomic CSS engine.
- Iconify - use icons from any icon sets ๐Icรดnes
- Pure CSS Icons via UnoCSS
- Vue Router
unplugin-vue-router
- 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 importunplugin-auto-import
- Directly use Vue Composition API and others without importingvite-plugin-vue-markdown
- Markdown as components / components in Markdownmarkdown-it-shiki
- Shiki for syntax highlighting
- Vue I18n - Internationalization
vite-plugin-vue-i18n
- Vite plugin for Vue I18n
- VueUse - collection of useful composition APIs
@vueuse/head
- manipulate document head reactively@vitejs/plugin-legacy
- Provides support for legacy browsers without ESM
- Use Composition API with
<script setup>
SFC syntax - ESLint with @antfu/eslint-config, single quotes, no semi.
- TypeScript
- Vitest - Unit testing powered by Vite
- pnpm - fast, disk space efficient package manager
vite-ssg
- Static-site 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
Vitesse requires Node >=14.18
Create a repo from this template on GitHub.
If you prefer to do it manually with the cleaner git history
npx degit YunLeFun/vitesse-h5 my-vitesse-h5
cd my-vitesse-h5
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
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 :)
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.
Go to Netlify and select your clone, OK
along the way, and your App will be live in a minute.
First, build the vitesse-h5 image by opening the terminal in the project's root directory.
docker buildx build . -t vitesse-h5:latest
Run the image and specify port mapping with the -p
flag.
docker run --rm -it -p 8080:80 vitesse-h5:latest