January 15, 2021

257 words 2 mins read



Collection of essential Vue Composition Utilities for Vue 2 and 3

repo name vueuse/vueuse
repo link https://github.com/vueuse/vueuse
homepage https://vueuse.js.org/
language TypeScript
size (curr.) 3735 kB
stars (curr.) 2981
created 2019-12-14
license MIT License

πŸš€ 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(
        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!

npm i @vueuse/core

Vue 3 Demo: Vite, Webpack / Vue 2 Demo: Vue CLI


<script src="https://unpkg.com/@vueuse/core"></script>

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

comments powered by Disqus