🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

HcySunYang f3e3f1f93b fix(types): calling readonly() with ref() should return Readonly<Ref<T>> 4 years ago
.github 4dd8588408 ci: update checkout version (#4881) 4 years ago
.vscode b015892de6 workflow: cross platform vscode jest debugging (#414) 5 years ago
packages f3e3f1f93b fix(types): calling readonly() with ref() should return Readonly<Ref<T>> 4 years ago
scripts 7a5c784452 workflow: update lockfile during release 4 years ago
test-dts f3e3f1f93b fix(types): calling readonly() with ref() should return Readonly<Ref<T>> 4 years ago
.eslintrc.js db8dc753c0 feat(experimental): standalone ref transform 4 years ago
.gitignore b5c0142cf0 chore: ignore .idea folder (#4838) [ci skip] 4 years ago
.prettierrc 69344ff1ae feat(types): map declared emits to onXXX props in inferred prop types (#3926) 4 years ago
CHANGELOG.md fe853a5a40 release: v3.2.21 4 years ago
LICENSE 34989ef7fe chore: license 6 years ago
README.md 1015700e1e docs: update vite init command (#4176) [ci skip] 4 years ago
SECURITY.md 7bb9dd09c5 chore: improve security.md [ci skip] 4 years ago
api-extractor.json e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage 5 years ago
jest.config.js 87c86e4cc2 refactor: ensure ssr branches are included in esm-bundler build 4 years ago
netlify.toml 61c5fbd3e3 workflow: move to pnpm (#4766) 4 years ago
package.json fe853a5a40 release: v3.2.21 4 years ago
pnpm-lock.yaml fafa7a1087 chore: update lockfile 4 years ago
pnpm-workspace.yaml 61c5fbd3e3 workflow: move to pnpm (#4766) 4 years ago
rollup.config.js 87c86e4cc2 refactor: ensure ssr branches are included in esm-bundler build 4 years ago
tsconfig.json 2788154f77 fix(build): fix generated code containing unprocessed class field syntax 4 years ago

README.md

vue-next npm build status

This is the repository for Vue 3.0.

Quickstart

  • Via CDN: <script src="https://unpkg.com/vue@next"></script>
  • In-browser playground on Codepen
  • Scaffold via Vite:

    # npm 6.x
    npm init vite@latest my-vue-app --template vue
    # npm 7+, extra double-dash is needed:
    npm init vite@latest my-vue-app -- --template vue
    # yarn
    yarn create vite my-vue-app --template vue
    
  • Scaffold via vue-cli:

    npm install -g @vue/cli # OR yarn global add @vue/cli
    vue create hello-vue3
    # select vue 3 preset
    

Changes from Vue 2

Please consult the Migration Guide.

Also note: Vue 3 does not support IE11 (RFC | Discussion).

Supporting Libraries

All of our official libraries and tools now support Vue 3, but most of them are still in beta status and distributed under the next dist tag on NPM. We are planning to stabilize and switch all projects to use the latest dist tag in early 2021.

Vue CLI

As of v4.5.0, vue-cli now provides built-in option to choose Vue 3 preset when creating a new project. You can upgrade vue-cli and run vue create to create a Vue 3 project today.

Vue Router

Vue Router 4.0 provides Vue 3 support and has a number of breaking changes of its own. Check out its Migration Guide for full details.

Vuex

Vuex 4.0 provides Vue 3 support with largely the same API as 3.x. The only breaking change is how the plugin is installed.

Devtools Extension

We are working on a new version of the Devtools with a new UI and refactored internals to support multiple Vue versions. The new version is currently in beta and only supports Vue 3 (for now). Vuex and Router integration is also work in progress.

IDE Support

It is recommended to use VSCode. There are currently two viable extensions for Single-File Components (SFCs) support:

  • Vetur (recommended if you are used to Vetur features)
  • Volar (recommended if using TypeScript with SFCs, or <script setup> syntax)

TypeScript Support

  • All Vue 3 packages ship with types.
  • vue-tsc perform TypeScript type checks / diagnostics on Vue SFCs via the command line.
  • vue-dts-gen: generate TypeScript definitions from Vue SFCs.

Other Projects

Project NPM Repo
@vue/babel-plugin-jsx rc [GitHub]
eslint-plugin-vue stable [GitHub]
@vue/test-utils beta [GitHub]
vue-class-component beta [GitHub]
vue-loader beta [GitHub]
rollup-plugin-vue beta [GitHub]