GitHub - antfu/vueuse: Collection of essential Vue Composition Utilities for Vue 2 and 3 (original) (raw)
Collection of essential Vue Composition Utilities
🚀 Features
- 🎪 Interactive docs & demos
- 🕶 Seamless migration: Works for both Vue 3 and 2
- ⚡ Fully tree shakable: Only take what you want, bundle size
- 🦾 Type Strong: Written in Typescript, with TS Docs
- 🔋 SSR Friendly
- 🌎 No bundler required: Usable via CDN
- 🔩 Flexible: Configurable event filters and targets
- 🔌 Optional Add-ons: Router, Firebase, RxJS, etc.
🦄 Usage
import { useMouse, usePreferredDark, useLocalStorage } from '@vueuse/core'
export default { setup() { // tracks mouse position const { x, y } = useMouse()
// is user prefers dark theme
const isDark = usePreferredDark()
// persist state in localStorage
const store = useLocalStorage(
'my-storage',
{
name: 'Apple',
color: 'red',
},
)
return { x, y, isDark, store }
} }
Refer to functions list or documentations for more details.
📦 Install
🎩 From v4.0, it works for Vue 2 & 3 within a single package by the power of vue-demi!
Vue 3 Demo: Vite, Webpack / Vue 2 Demo: Vue CLI
From v6.0, VueUse requires
vue
>= v3.2 or@vue/composition-api
>= v1.1
CDN
It will be exposed to global as window.VueUse
🧱 Contribute
See the Contributing Guide
🌸 Thanks
This project is heavily inspired by the following awesome projects.
And thanks to all the contributors on GitHub!
👨🚀 Contributors
Financial Contributors on Open Collective
📄 License
MIT License © 2019-PRESENT Anthony Fu