English | 中文
Add a loading animation to your website
npm i vite-plugin-app-loading -D// vite.config.ts import AppLoading from 'vite-plugin-app-loading' export default defineConfig({ plugins: [ AppLoading(), ], })Hide the loading animation at the right time:
// src/main.ts import { loadingFadeOut } from 'virtual:app-loading' loadingFadeOut()There are two ways of telling typescript about the types of the virtual import:
-
In your
global.d.tsfile add the following line:/// <reference types="vite-plugin-app-loading/client" /> -
In your
tsconfig.jsonadd the following to your compilerOptions.types array:{ // ... "compilerOptions": { // ... "types": [ "vite-plugin-app-loading/client" ] } }
Create a loading.html file at the root directory:
<style> .loader { font-weight: bold; font-family: sans-serif; font-size: 30px; animation: l1 1s linear infinite alternate; } .loader:before { content:"Loading..." } @keyframes l1 {to{opacity: 0}} </style> <div class="loader"></div>// vite.config.ts import AppLoading from 'vite-plugin-app-loading' export default defineConfig({ plugins: [ AppLoading('loading.html'), ], })Tip
You can find inspiration from the following websites, which all provide CSS-only loading animations that are perfect for use with this plugin.
Thanks to vue-vben-admin for the inspiration.

