README.md

October 16, 2021 ยท View on GitHub

VueUse - Collection of essential Vue Composition Utilities
Collection of essential Vue Composition Utilities

NPM version NPM Downloads Docs & Demos Function Count
GitHub stars

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

npm i @vueuse/core

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

<script src="https://unpkg.com/@vueuse/shared"></script>
<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