You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

386 lines
21 KiB

4 months ago
  1. <p align="center"><a href="https://vuejs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://vuejs.org/images/logo.png" alt="Vue logo"></a></p>
  2. <p align="center">
  3. <a href="https://circleci.com/gh/vuejs/vue/tree/dev"><img src="https://img.shields.io/circleci/project/github/vuejs/vue/dev.svg?sanitize=true" alt="Build Status"></a>
  4. <a href="https://codecov.io/github/vuejs/vue?branch=dev"><img src="https://img.shields.io/codecov/c/github/vuejs/vue/dev.svg?sanitize=true" alt="Coverage Status"></a>
  5. <a href="https://npmcharts.com/compare/vue?minimal=true"><img src="https://img.shields.io/npm/dm/vue.svg?sanitize=true" alt="Downloads"></a>
  6. <a href="https://www.npmjs.com/package/vue"><img src="https://img.shields.io/npm/v/vue.svg?sanitize=true" alt="Version"></a>
  7. <a href="https://www.npmjs.com/package/vue"><img src="https://img.shields.io/npm/l/vue.svg?sanitize=true" alt="License"></a>
  8. <a href="https://chat.vuejs.org/"><img src="https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true" alt="Chat"></a>
  9. <br>
  10. <a href="https://app.saucelabs.com/builds/50f8372d79f743a3b25fb6ca4851ca4c"><img src="https://app.saucelabs.com/buildstatus/vuejs" alt="Build Status"></a>
  11. </p>
  12. <h2 align="center">Supporting Vue.js</h2>
  13. Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [backers](https://github.com/vuejs/vue/blob/dev/BACKERS.md). If you'd like to join them, please consider:
  14. - [Become a backer or sponsor on Patreon](https://www.patreon.com/evanyou).
  15. - [Become a backer or sponsor on Open Collective](https://opencollective.com/vuejs).
  16. - [One-time donation via PayPal or crypto-currencies](https://vuejs.org/support-vuejs/#One-time-Donations).
  17. #### What's the difference between Patreon and OpenCollective?
  18. Funds donated via Patreon go directly to support Evan You's full-time work on Vue.js. Funds donated via OpenCollective are managed with transparent expenses and will be used for compensating work and expenses for core team members or sponsoring community events. Your name/logo will receive proper recognition and exposure by donating on either platform.
  19. <h3 align="center">Special Sponsors</h3>
  20. <!--special start-->
  21. <p align="center">
  22. <a href="https://autocode.com/" target="_blank">
  23. <img width="260px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/autocode.svg?sanitize=true">
  24. </a>
  25. </p>
  26. <!--special end-->
  27. <h3 align="center">Platinum Sponsors</h3>
  28. <!--platinum start-->
  29. <table>
  30. <tbody>
  31. <tr>
  32. <td align="center" valign="middle">
  33. <a href="https://vueschool.io/?utm_source=Vuejs.org&utm_medium=Banner&utm_campaign=Sponsored%20Banner&utm_content=V1" target="_blank">
  34. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vueschool.png">
  35. </a>
  36. </td>
  37. <td align="center" valign="middle">
  38. <a href="https://vehikl.com/" target="_blank">
  39. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vehikl.png">
  40. </a>
  41. </td>
  42. <td align="center" valign="middle">
  43. <a href="https://retool.com/?utm_source=sponsor&utm_campaign=vue" target="_blank">
  44. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/retool.png">
  45. </a>
  46. </td>
  47. <td align="center" valign="middle">
  48. <a href="https://passionatepeople.io/" target="_blank">
  49. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/passionate_people.png">
  50. </a>
  51. </td>
  52. </tr><tr></tr>
  53. <tr>
  54. <td align="center" valign="middle">
  55. <a href="https://www.storyblok.com" target="_blank">
  56. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/storyblok.png">
  57. </a>
  58. </td>
  59. <td align="center" valign="middle">
  60. <a href="https://ionicframework.com/vue?utm_source=partner&utm_medium=referral&utm_campaign=vuesponsorship&utm_content=vuedocs" target="_blank">
  61. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/ionic.png">
  62. </a>
  63. </td>
  64. <td align="center" valign="middle">
  65. <a href="https://nuxtjs.org/" target="_blank">
  66. <img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/nuxt.png">
  67. </a>
  68. </td>
  69. </tr><tr></tr>
  70. </tbody>
  71. </table>
  72. <!--platinum end-->
  73. <!--special-china start-->
  74. <h3 align="center">Platinum Sponsors (China)</h3>
  75. <table>
  76. <tbody>
  77. <tr>
  78. <td align="center" valign="middle">
  79. <a href="http://www.dcloud.io/?hmsr=vuejsorg&hmpl=&hmcu=&hmkw=&hmci=" target="_blank">
  80. <img width="177px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/dcloud.gif">
  81. </a>
  82. </td>
  83. </tr><tr></tr>
  84. </tbody>
  85. </table>
  86. <!--special-china end-->
  87. <h3 align="center">Gold Sponsors</h3>
  88. <!--gold start-->
  89. <table>
  90. <tbody>
  91. <tr>
  92. <td align="center" valign="middle">
  93. <a href="https://www.vuemastery.com/" target="_blank">
  94. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vuemastery.png">
  95. </a>
  96. </td>
  97. <td align="center" valign="middle">
  98. <a href="https://laravel.com" target="_blank">
  99. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/laravel.png">
  100. </a>
  101. </td>
  102. <td align="center" valign="middle">
  103. <a href="https://htmlburger.com" target="_blank">
  104. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/html_burger.png">
  105. </a>
  106. </td>
  107. <td align="center" valign="middle">
  108. <a href="https://www.frontenddeveloperlove.com/" target="_blank">
  109. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/frontendlove.png">
  110. </a>
  111. </td>
  112. <td align="center" valign="middle">
  113. <a href="https://neds.com.au/" target="_blank">
  114. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/neds.png">
  115. </a>
  116. </td>
  117. <td align="center" valign="middle">
  118. <a href="https://icons8.com/" target="_blank">
  119. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/icons_8.png">
  120. </a>
  121. </td>
  122. </tr><tr></tr>
  123. <tr>
  124. <td align="center" valign="middle">
  125. <a href="https://vuejobs.com/?ref=vuejs" target="_blank">
  126. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vuejobs.png">
  127. </a>
  128. </td>
  129. <td align="center" valign="middle">
  130. <a href="https://tidelift.com/subscription/npm/vue" target="_blank">
  131. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tidelift.png">
  132. </a>
  133. </td>
  134. <td align="center" valign="middle">
  135. <a href="https://www.firesticktricks.com/" target="_blank">
  136. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/firestick_tricks.png">
  137. </a>
  138. </td>
  139. <td align="center" valign="middle">
  140. <a href="https://intygrate.com/" target="_blank">
  141. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/intygrate.png">
  142. </a>
  143. </td>
  144. <td align="center" valign="middle">
  145. <a href="http://en.shopware.com/" target="_blank">
  146. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/shopware_ag.png">
  147. </a>
  148. </td>
  149. <td align="center" valign="middle">
  150. <a href="https://www.vpnranks.com/" target="_blank">
  151. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vpnranks.png">
  152. </a>
  153. </td>
  154. </tr><tr></tr>
  155. <tr>
  156. <td align="center" valign="middle">
  157. <a href="https://www.bacancytechnology.com/hire-vuejs-developer" target="_blank">
  158. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/bacancy_technology.png">
  159. </a>
  160. </td>
  161. <td align="center" valign="middle">
  162. <a href="https://www.bestvpn.co/" target="_blank">
  163. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/bestvpn_co.png">
  164. </a>
  165. </td>
  166. <td align="center" valign="middle">
  167. <a href="https://www.y8.com/" target="_blank">
  168. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/y8.png">
  169. </a>
  170. </td>
  171. <td align="center" valign="middle">
  172. <a href="https://js.devexpress.com/" target="_blank">
  173. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/devexpress.png">
  174. </a>
  175. </td>
  176. <td align="center" valign="middle">
  177. <a href="https://fastcoding.jp/javascript/ " target="_blank">
  178. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/fastcoding_inc.svg?sanitize=true">
  179. </a>
  180. </td>
  181. <td align="center" valign="middle">
  182. <a href="https://usave.co.uk/utilities/broadband" target="_blank">
  183. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/usave.png">
  184. </a>
  185. </td>
  186. </tr><tr></tr>
  187. <tr>
  188. <td align="center" valign="middle">
  189. <a href="https://www.foo.software" target="_blank">
  190. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/foo.png">
  191. </a>
  192. </td>
  193. <td align="center" valign="middle">
  194. <a href="https://flatlogic.com/templates" target="_blank">
  195. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/flatlogic_templates.svg?sanitize=true">
  196. </a>
  197. </td>
  198. <td align="center" valign="middle">
  199. <a href="http://moovweb.com/" target="_blank">
  200. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/moovweb.png">
  201. </a>
  202. </td>
  203. <td align="center" valign="middle">
  204. <a href="https://vpn-review.com/netflix-vpn" target="_blank">
  205. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vpn_review.png">
  206. </a>
  207. </td>
  208. <td align="center" valign="middle">
  209. <a href="https://cosmos.network/" target="_blank">
  210. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tendermint.png">
  211. </a>
  212. </td>
  213. <td align="center" valign="middle">
  214. <a href="https://www.okayhq.com/" target="_blank">
  215. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/okay.png">
  216. </a>
  217. </td>
  218. </tr><tr></tr>
  219. <tr>
  220. <td align="center" valign="middle">
  221. <a href="https://www.vpsserver.com" target="_blank">
  222. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vpsserver_com.png">
  223. </a>
  224. </td>
  225. <td align="center" valign="middle">
  226. <a href="https://aussiecasinohex.com/" target="_blank">
  227. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/aussiecasinohex.svg?sanitize=true">
  228. </a>
  229. </td>
  230. <td align="center" valign="middle">
  231. <a href="https://litslink.com" target="_blank">
  232. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/litslink.png">
  233. </a>
  234. </td>
  235. <td align="center" valign="middle">
  236. <a href="https://newicon.net" target="_blank">
  237. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/newicon.png">
  238. </a>
  239. </td>
  240. <td align="center" valign="middle">
  241. <a href="https://lowdefy.com?k=w432" target="_blank">
  242. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/lowdefy.png">
  243. </a>
  244. </td>
  245. <td align="center" valign="middle">
  246. <a href="https://quickbookstoolhub.com/" target="_blank">
  247. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/quickbooks_tool_hub.png">
  248. </a>
  249. </td>
  250. </tr><tr></tr>
  251. <tr>
  252. <td align="center" valign="middle">
  253. <a href="https://linecorp.com" target="_blank">
  254. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/line_corporation.png">
  255. </a>
  256. </td>
  257. <td align="center" valign="middle">
  258. <a href="https://exmax.it/" target="_blank">
  259. <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/exmax.png">
  260. </a>
  261. </td>
  262. </tr><tr></tr>
  263. </tbody>
  264. </table>
  265. <!--gold end-->
  266. <h3 align="center">Sponsors via <a href="https://opencollective.com/vuejs">Open Collective</a></h3>
  267. <h4 align="center">Platinum</h4>
  268. <a href="https://opencollective.com/vuejs/tiers/platinum-sponsors/0/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/platinum-sponsors/0/avatar.svg?sanitize=true"></a>
  269. <a href="https://opencollective.com/vuejs/tiers/platinum-sponsors/1/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/platinum-sponsors/1/avatar.svg?sanitize=true"></a>
  270. <h4 align="center">Gold</h4>
  271. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/0/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/0/avatar.svg?sanitize=true" height="60px"></a>
  272. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/1/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/1/avatar.svg?sanitize=true" height="60px"></a>
  273. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/2/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/2/avatar.svg?sanitize=true" height="60px"></a>
  274. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/3/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/3/avatar.svg?sanitize=true" height="60px"></a>
  275. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/4/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/4/avatar.svg?sanitize=true" height="60px"></a>
  276. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/5/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/5/avatar.svg?sanitize=true" height="60px"></a>
  277. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/6/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/6/avatar.svg?sanitize=true" height="60px"></a>
  278. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/7/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/7/avatar.svg?sanitize=true" height="60px"></a>
  279. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/8/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/8/avatar.svg?sanitize=true" height="60px"></a>
  280. <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/9/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/9/avatar.svg?sanitize=true" height="60px"></a><a href="https://opencollective.com/vuejs/tiers/gold-sponsors/10/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/10/avatar.svg?sanitize=true" height="60px"></a>
  281. ---
  282. ## Introduction
  283. Vue (pronounced `/vjuː/`, like view) is a **progressive framework** for building user interfaces. It is designed from the ground up to be incrementally adoptable, and can easily scale between a library and a framework depending on different use cases. It consists of an approachable core library that focuses on the view layer only, and an ecosystem of supporting libraries that helps you tackle complexity in large Single-Page Applications.
  284. #### Browser Compatibility
  285. Vue.js supports all browsers that are [ES5-compliant](https://kangax.github.io/compat-table/es5/) (IE8 and below are not supported).
  286. ## Ecosystem
  287. | Project | Status | Description |
  288. |---------|--------|-------------|
  289. | [vue-router] | [![vue-router-status]][vue-router-package] | Single-page application routing |
  290. | [vuex] | [![vuex-status]][vuex-package] | Large-scale state management |
  291. | [vue-cli] | [![vue-cli-status]][vue-cli-package] | Project scaffolding |
  292. | [vue-loader] | [![vue-loader-status]][vue-loader-package] | Single File Component (`*.vue` file) loader for webpack |
  293. | [vue-server-renderer] | [![vue-server-renderer-status]][vue-server-renderer-package] | Server-side rendering support |
  294. | [vue-class-component] | [![vue-class-component-status]][vue-class-component-package] | TypeScript decorator for a class-based API |
  295. | [vue-rx] | [![vue-rx-status]][vue-rx-package] | RxJS integration |
  296. | [vue-devtools] | [![vue-devtools-status]][vue-devtools-package] | Browser DevTools extension |
  297. [vue-router]: https://github.com/vuejs/vue-router
  298. [vuex]: https://github.com/vuejs/vuex
  299. [vue-cli]: https://github.com/vuejs/vue-cli
  300. [vue-loader]: https://github.com/vuejs/vue-loader
  301. [vue-server-renderer]: https://github.com/vuejs/vue/tree/dev/packages/vue-server-renderer
  302. [vue-class-component]: https://github.com/vuejs/vue-class-component
  303. [vue-rx]: https://github.com/vuejs/vue-rx
  304. [vue-devtools]: https://github.com/vuejs/vue-devtools
  305. [vue-router-status]: https://img.shields.io/npm/v/vue-router.svg
  306. [vuex-status]: https://img.shields.io/npm/v/vuex.svg
  307. [vue-cli-status]: https://img.shields.io/npm/v/@vue/cli.svg
  308. [vue-loader-status]: https://img.shields.io/npm/v/vue-loader.svg
  309. [vue-server-renderer-status]: https://img.shields.io/npm/v/vue-server-renderer.svg
  310. [vue-class-component-status]: https://img.shields.io/npm/v/vue-class-component.svg
  311. [vue-rx-status]: https://img.shields.io/npm/v/vue-rx.svg
  312. [vue-devtools-status]: https://img.shields.io/chrome-web-store/v/nhdogjmejiglipccpnnnanhbledajbpd.svg
  313. [vue-router-package]: https://npmjs.com/package/vue-router
  314. [vuex-package]: https://npmjs.com/package/vuex
  315. [vue-cli-package]: https://npmjs.com/package/@vue/cli
  316. [vue-loader-package]: https://npmjs.com/package/vue-loader
  317. [vue-server-renderer-package]: https://npmjs.com/package/vue-server-renderer
  318. [vue-class-component-package]: https://npmjs.com/package/vue-class-component
  319. [vue-rx-package]: https://npmjs.com/package/vue-rx
  320. [vue-devtools-package]: https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd
  321. ## Documentation
  322. To check out [live examples](https://vuejs.org/v2/examples/) and docs, visit [vuejs.org](https://vuejs.org).
  323. ## Questions
  324. For questions and support please use [the official forum](https://forum.vuejs.org) or [community chat](https://chat.vuejs.org/). The issue list of this repo is **exclusively** for bug reports and feature requests.
  325. ## Issues
  326. Please make sure to read the [Issue Reporting Checklist](https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#issue-reporting-guidelines) before opening an issue. Issues not conforming to the guidelines may be closed immediately.
  327. ## Changelog
  328. Detailed changes for each release are documented in the [release notes](https://github.com/vuejs/vue/releases).
  329. ## Stay In Touch
  330. - [Twitter](https://twitter.com/vuejs)
  331. - [Blog](https://medium.com/the-vue-point)
  332. - [Job Board](https://vuejobs.com/?ref=vuejs)
  333. ## Contribution
  334. Please make sure to read the [Contributing Guide](https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md) before making a pull request. If you have a Vue-related project/component/tool, add it with a pull request to [this curated list](https://github.com/vuejs/awesome-vue)!
  335. Thank you to all the people who already contributed to Vue!
  336. <a href="https://github.com/vuejs/vue/graphs/contributors"><img src="https://opencollective.com/vuejs/contributors.svg?width=890" /></a>
  337. ## License
  338. [MIT](https://opensource.org/licenses/MIT)
  339. Copyright (c) 2013-present, Yuxi (Evan) You