├── docs-gitbook
├── old
│ ├── SUMMARY.md
│ └── README.md
├── de
│ ├── README.md
│ ├── api
│ │ ├── component-injections.md
│ │ └── router-view.md
│ ├── essentials
│ │ ├── named-routes.md
│ │ └── named-views.md
│ ├── installation.md
│ ├── SUMMARY.md
│ └── advanced
│ │ ├── meta.md
│ │ └── transitions.md
├── assets
│ ├── CNAME
│ └── circle.yml
├── es
│ ├── README.md
│ ├── api
│ │ ├── component-injections.md
│ │ └── router-view.md
│ ├── essentials
│ │ ├── named-routes.md
│ │ └── named-views.md
│ ├── installation.md
│ └── advanced
│ │ ├── transitions.md
│ │ └── meta.md
├── fr
│ ├── README.md
│ ├── api
│ │ ├── component-injections.md
│ │ └── router-view.md
│ ├── essentials
│ │ └── named-routes.md
│ ├── installation.md
│ └── advanced
│ │ ├── meta.md
│ │ └── transitions.md
├── ja
│ ├── README.md
│ ├── api
│ │ ├── component-injections.md
│ │ └── router-view.md
│ ├── essentials
│ │ ├── named-routes.md
│ │ └── redirect-and-alias.md
│ ├── installation.md
│ ├── advanced
│ │ ├── meta.md
│ │ ├── transitions.md
│ │ └── lazy-loading.md
│ └── SUMMARY.md
├── kr
│ ├── README.md
│ ├── api
│ │ ├── component-injections.md
│ │ └── router-view.md
│ ├── essentials
│ │ ├── named-routes.md
│ │ ├── named-views.md
│ │ ├── redirect-and-alias.md
│ │ └── passing-props.md
│ ├── installation.md
│ ├── advanced
│ │ ├── meta.md
│ │ ├── transitions.md
│ │ ├── scroll-behavior.md
│ │ └── lazy-loading.md
│ └── SUMMARY.md
├── ru
│ ├── README.md
│ ├── api
│ │ ├── component-injections.md
│ │ └── router-view.md
│ ├── essentials
│ │ └── named-routes.md
│ ├── installation.md
│ └── advanced
│ │ └── meta.md
├── gitbook
│ └── images
│ │ └── favicon.ico
├── LANGS.md
└── book.json
├── .eslintignore
├── composables.d.ts
├── test
├── e2e
│ ├── specs
│ │ ├── .prettierrc
│ │ ├── lazy-loading-before-mount.js
│ │ ├── nested-router.js
│ │ ├── data-fetching.js
│ │ ├── route-params.js
│ │ ├── restart-app.js
│ │ ├── route-props.js
│ │ ├── named-views.js
│ │ ├── multi-app.js
│ │ ├── composables.js
│ │ ├── named-routes.js
│ │ └── lazy-loading.js
│ └── .eslintrc
├── .eslintrc
└── unit
│ ├── .eslintrc
│ ├── jasmine.json
│ └── specs
│ ├── async.spec.js
│ ├── custom-query.spec.js
│ ├── discrete-components.spec.js
│ ├── onReady.spec.js
│ └── abstract-history.spec.js
├── .github
├── funding.yml
├── PULL_REQUEST_TEMPLATE.md
├── ISSUE_TEMPLATE.md
└── workflows
│ └── release-tag.yml
├── src
├── index.js
├── entries
│ ├── cjs.js
│ └── esm.js
├── util
│ ├── dom.js
│ ├── misc.js
│ ├── warn.js
│ ├── async.js
│ ├── state-key.js
│ ├── params.js
│ ├── push-state.js
│ └── path.js
├── composables
│ ├── index.js
│ ├── utils.js
│ └── globals.js
└── install.js
├── .prettierrc
├── docs
├── .vuepress
│ ├── theme
│ │ ├── index.js
│ │ └── components
│ │ │ └── CarbonAds.vue
│ ├── public
│ │ ├── logo.png
│ │ ├── bit-wide.png
│ │ ├── sponsors
│ │ │ ├── vuejobs.png
│ │ │ ├── passionate-people-dark.png
│ │ │ └── passionate-people-light.png
│ │ ├── icons
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── mstile-150x150.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon-60x60.png
│ │ │ ├── apple-touch-icon-76x76.png
│ │ │ ├── apple-touch-icon-120x120.png
│ │ │ ├── apple-touch-icon-152x152.png
│ │ │ ├── apple-touch-icon-180x180.png
│ │ │ └── msapplication-icon-144x144.png
│ │ ├── images
│ │ │ └── vueschool
│ │ │ │ ├── vs-close.svg
│ │ │ │ └── vs-iso.svg
│ │ └── _redirects
│ ├── components
│ │ ├── HomeSponsorsGroup.vue
│ │ └── sponsors.json
│ └── styles
│ │ └── index.styl
├── kr
│ ├── README.md
│ ├── guide
│ │ ├── essentials
│ │ │ ├── named-routes.md
│ │ │ ├── named-views.md
│ │ │ ├── redirect-and-alias.md
│ │ │ └── passing-props.md
│ │ └── advanced
│ │ │ ├── meta.md
│ │ │ ├── transitions.md
│ │ │ ├── lazy-loading.md
│ │ │ └── scroll-behavior.md
│ └── installation.md
├── README.md
├── zh
│ ├── README.md
│ ├── guide
│ │ ├── essentials
│ │ │ ├── named-routes.md
│ │ │ └── redirect-and-alias.md
│ │ └── advanced
│ │ │ ├── meta.md
│ │ │ ├── transitions.md
│ │ │ └── lazy-loading.md
│ └── installation.md
├── fr
│ ├── README.md
│ ├── guide
│ │ ├── essentials
│ │ │ └── named-routes.md
│ │ └── advanced
│ │ │ ├── meta.md
│ │ │ └── transitions.md
│ └── installation.md
├── ru
│ ├── README.md
│ ├── guide
│ │ ├── essentials
│ │ │ └── named-routes.md
│ │ └── advanced
│ │ │ └── transitions.md
│ └── installation.md
├── ja
│ ├── README.md
│ ├── guide
│ │ ├── essentials
│ │ │ ├── named-routes.md
│ │ │ └── redirect-and-alias.md
│ │ └── advanced
│ │ │ ├── meta.md
│ │ │ ├── transitions.md
│ │ │ └── lazy-loading.md
│ └── installation.md
├── guide
│ └── essentials
│ │ └── named-routes.md
└── installation.md
├── .babelrc
├── examples
├── auth-flow
│ ├── components
│ │ ├── About.vue
│ │ ├── Dashboard.vue
│ │ ├── App.vue
│ │ └── Login.vue
│ ├── index.html
│ ├── app.js
│ └── auth.js
├── lazy-loading
│ ├── Baz.vue
│ ├── Foo.vue
│ ├── index.html
│ └── Bar.vue
├── redirect
│ └── index.html
├── data-fetching
│ ├── index.html
│ ├── api.js
│ ├── app.js
│ └── Post.vue
├── named-routes
│ ├── index.html
│ └── app.js
├── named-views
│ ├── index.html
│ └── app.js
├── route-alias
│ └── index.html
├── route-params
│ ├── index.html
│ └── app.js
├── route-props
│ ├── index.html
│ ├── Hello.vue
│ └── app.js
├── keepalive-view
│ └── index.html
├── route-matching
│ └── index.html
├── composables
│ └── index.html
├── basic
│ └── index.html
├── router-errors
│ ├── index.html
│ └── app.js
├── hash-mode
│ └── index.html
├── lazy-loading-before-mount
│ ├── index.html
│ └── app.js
├── nested-router
│ ├── index.html
│ └── app.js
├── hash-scroll-behavior
│ └── index.html
├── nested-routes
│ └── index.html
├── navigation-guards
│ └── index.html
├── global.css
├── active-links
│ └── index.html
├── scroll-behavior
│ └── index.html
├── restart-app
│ ├── index.html
│ └── app.js
├── multi-app
│ └── index.html
├── transitions
│ └── index.html
├── server.js
├── discrete-components
│ ├── app.js
│ └── index.html
├── index.html
└── webpack.config.js
├── assets
└── browserstack-logo-600x315.png
├── netlify.toml
├── .eslintrc
├── .flowconfig
├── .gitignore
├── types
├── test
│ ├── tsconfig.json
│ └── meta.ts
├── vue.d.ts
└── index.d.ts
├── vetur
└── tags.json
├── scripts
├── release.sh
└── verifyCommitMsg.js
└── LICENSE
/docs-gitbook/old/SUMMARY.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.ts
3 |
--------------------------------------------------------------------------------
/docs-gitbook/de/README.md:
--------------------------------------------------------------------------------
1 | SUMMARY.md
--------------------------------------------------------------------------------
/docs-gitbook/assets/CNAME:
--------------------------------------------------------------------------------
1 | router.vuejs.org
2 |
--------------------------------------------------------------------------------
/composables.d.ts:
--------------------------------------------------------------------------------
1 | export * from './types/composables'
2 |
--------------------------------------------------------------------------------
/docs-gitbook/es/README.md:
--------------------------------------------------------------------------------
1 | {% include "./SUMMARY.md" %}
2 |
--------------------------------------------------------------------------------
/docs-gitbook/fr/README.md:
--------------------------------------------------------------------------------
1 | {% include "./SUMMARY.md" %}
2 |
--------------------------------------------------------------------------------
/docs-gitbook/ja/README.md:
--------------------------------------------------------------------------------
1 | {% include "./SUMMARY.md" %}
2 |
--------------------------------------------------------------------------------
/docs-gitbook/kr/README.md:
--------------------------------------------------------------------------------
1 | {% include "./SUMMARY.md" %}
2 |
--------------------------------------------------------------------------------
/docs-gitbook/ru/README.md:
--------------------------------------------------------------------------------
1 | {% include "./SUMMARY.md" %}
2 |
--------------------------------------------------------------------------------
/test/e2e/specs/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 120
3 | }
4 |
--------------------------------------------------------------------------------
/test/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "jasmine": true
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/.github/funding.yml:
--------------------------------------------------------------------------------
1 | github: [posva, yyx990803]
2 | open_collective: vuejs
3 |
--------------------------------------------------------------------------------
/test/e2e/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import VueRouter from './entries/cjs'
2 |
3 | export default VueRouter
4 |
--------------------------------------------------------------------------------
/src/entries/cjs.js:
--------------------------------------------------------------------------------
1 | import VueRouter from '../router'
2 |
3 | export default VueRouter
4 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "singleQuote": true,
4 | "printWidth": 80
5 | }
6 |
--------------------------------------------------------------------------------
/docs-gitbook/assets/circle.yml:
--------------------------------------------------------------------------------
1 | general:
2 | branches:
3 | ignore:
4 | - gh-pages
5 |
--------------------------------------------------------------------------------
/docs/.vuepress/theme/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extend: '@vuepress/theme-default'
3 | }
4 |
--------------------------------------------------------------------------------
/src/util/dom.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 |
3 | export const inBrowser = typeof window !== 'undefined'
4 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["env", "flow-vue"],
3 | "plugins": ["syntax-dynamic-import"]
4 | }
5 |
--------------------------------------------------------------------------------
/src/composables/index.js:
--------------------------------------------------------------------------------
1 | export * from './guards'
2 | export * from './globals'
3 | export * from './useLink'
4 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UltraDEV007/vue-router/HEAD/docs/.vuepress/public/logo.png
--------------------------------------------------------------------------------
/examples/auth-flow/components/About.vue:
--------------------------------------------------------------------------------
1 |
2 | Yay you made it! I'm loaded in the same chunk with Bar. I am lazy-loaded. (check out the Networks tab in Chrome devtools)About
4 | Dashboard
4 | Baz
4 | This is Foo!
4 |
I am lazy-loaded. (check out the Networks tab in Chrome devtools)
5 |You are logged {{ loggedIn ? 'in' : 'out' }}
22 | 23 |Current route name: {{ $route.name }}
26 |5 | You need to login first. 6 |
7 | 13 |{{ to.params }}
14 |