Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/YunLeFun/vitesse-h5
๐ฑ A H5 Template(Vite + Vue) inspired by Vitesse.
https://github.com/YunLeFun/vitesse-h5
h5 vite vitesse vue
Last synced: about 1 month ago
JSON representation
๐ฑ A H5 Template(Vite + Vue) inspired by Vitesse.
- Host: GitHub
- URL: https://github.com/YunLeFun/vitesse-h5
- Owner: YunLeFun
- License: mit
- Created: 2022-08-19T12:30:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-12T16:42:05.000Z (3 months ago)
- Last Synced: 2024-10-27T09:03:41.119Z (2 months ago)
- Topics: h5, vite, vitesse, vue
- Language: TypeScript
- Homepage: https://vitesse-h5.yunle.fun
- Size: 679 KB
- Stars: 40
- Watchers: 1
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Vitesse-H5
> Mocking up mobile web app with Vitesse-H5(speed)
English | ็ฎไฝไธญๆ
## Why Vitesse-H5?
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](https://github.com/YunYouJun/air-conditioner), [cook](https://github.com/YunYouJun/cook), [your-university](https://yu.yunyoujun.cn/) 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](https://github.com/antfu/vitesse).
## Features
- โก๏ธ [Vue 3](https://github.com/vuejs/core), [Vite 3](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [ESBuild](https://github.com/evanw/esbuild) - born with fastness
- ๐ [File based routing](./src/pages)
- ๐ฆ [Components auto importing](./src/components)
- ๐ [State Management via Pinia](https://pinia.vuejs.org/)
- ๐ [Layout system](./src/layouts)
- ๐จ [UnoCSS](https://github.com/antfu/unocss) - the instant on-demand atomic CSS engine
- ๐ [Use icons from any icon sets with classes](https://github.com/antfu/unocss/tree/main/packages/preset-icons)
- ๐ [I18n ready](./locales)
- ๐ [Markdown Support](https://github.com/antfu/vite-plugin-vue-markdown)
- ๐ฅ Use the [new `` syntax](https://github.com/vuejs/rfcs/pull/227)
- ๐ฅ [APIs auto importing](https://github.com/antfu/unplugin-auto-import) - use Composition API and others directly
- ๐จ Static-site generation (SSG) via [vite-ssg](https://github.com/antfu/vite-ssg)
- ๐ฆ Critical CSS via [critters](https://github.com/GoogleChromeLabs/critters)
- ๐ฆพ TypeScript, of course
- โ๏ธ Unit Testing with [Vitest](https://github.com/vitest-dev/vitest) on [GitHub Actions](https://github.com/features/actions)
- โ๏ธ Deploy on Netlify, zero-config
<br>
## Pre-packed
### UI Frameworks
- [UnoCSS](https://github.com/antfu/unocss) - The instant on-demand atomic CSS engine.
### Icons
- [Iconify](https://iconify.design) - use icons from any icon sets [๐Icรดnes](https://icones.netlify.app/)
- [Pure CSS Icons via UnoCSS](https://github.com/antfu/unocss/tree/main/packages/preset-icons)### Plugins
- [Vue Router](https://github.com/vuejs/router)
- [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) - file system based routing
- [`vite-plugin-vue-layouts`](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) - layouts for pages
- [Pinia](https://pinia.esm.dev) - Intuitive, type safe, light and flexible Store for Vue using the composition api
- [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components) - components auto import
- [`unplugin-auto-import`](https://github.com/antfu/unplugin-auto-import) - Directly use Vue Composition API and others without importing
- [`vite-plugin-vue-markdown`](https://github.com/antfu/vite-plugin-vue-markdown) - Markdown as components / components in Markdown
- [`markdown-it-shiki`](https://github.com/antfu/markdown-it-shiki) - [Shiki](https://github.com/shikijs/shiki) for syntax highlighting
- [Vue I18n](https://github.com/intlify/vue-i18n-next) - Internationalization
- [`vite-plugin-vue-i18n`](https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n) - Vite plugin for Vue I18n
- [VueUse](https://github.com/antfu/vueuse) - collection of useful composition APIs
- [`@vueuse/head`](https://github.com/vueuse/head) - manipulate document head reactively
- [`@vitejs/plugin-legacy`](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy) - Provides support for legacy browsers without ESM### Coding Style
- Use Composition API with [`<script setup>` SFC syntax](https://github.com/vuejs/rfcs/pull/227)
- [ESLint](https://eslint.org/) with [@antfu/eslint-config](https://github.com/antfu/eslint-config), single quotes, no semi.### Dev tools
- [TypeScript](https://www.typescriptlang.org/)
- [Vitest](https://github.com/vitest-dev/vitest) - Unit testing powered by Vite
- [pnpm](https://pnpm.js.org/) - fast, disk space efficient package manager
- [`vite-ssg`](https://github.com/antfu/vite-ssg) - Static-site generation
- [critters](https://github.com/GoogleChromeLabs/critters) - Critical CSS
- [Netlify](https://www.netlify.com/) - zero-config deployment
- [VS Code Extensions](./.vscode/extensions.json)
- [Vite](https://marketplace.visualstudio.com/items?itemName=antfu.vite) - Fire up Vite server automatically
- [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) - Vue 3 `<script setup>` IDE support
- [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify) - Icon inline display and autocomplete
- [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) - All in one i18n support
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)## Try it now!
> Vitesse requires Node >=14.18
### GitHub Template
[Create a repo from this template on GitHub](https://github.com/antfu/vitesse/generate).
### Clone to local
If you prefer to do it manually with the cleaner git history
```bash
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
```## Checklist
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 routesAnd, enjoy :)
## Usage
### Development
Just run and visit <http://localhost:3333>
```bash
pnpm dev
```### Build
To build the App, run
```bash
pnpm build
```And you will see the generated file in `dist` that ready to be served.
### Deploy on Netlify
Go to [Netlify](https://app.netlify.com/start) and select your clone, `OK` along the way, and your App will be live in a minute.
### Docker Production Build
First, build the vitesse-h5 image by opening the terminal in the project's root directory.
```bash
docker buildx build . -t vitesse-h5:latest
```Run the image and specify port mapping with the `-p` flag.
```bash
docker run --rm -it -p 8080:80 vitesse-h5:latest
```