Sila pastikan anda membaca bahagian Langkah-langkah yang mungkin perlu diambil di penghujung artikel untuk mengesahkan sama ada anda perlu membuat perubahan yang sepadan sebelum bertukar kepada versi lalai untuk mengelakkan pengecualian .
Artikel ini terbuka kepada kebenaran dan boleh diterbitkan semula sesuka hati asalkan alamat asal ditunjukkan dan kandungannya tidak diubah suai.
Dari perpustakaan kepada rangka kerja
Pada mulanya, Vue hanyalah perpustakaan masa jalan. Tetapi selama bertahun-tahun, ia telah berkembang secara beransur-ansur menjadi rangka kerja dengan banyak sub-projek:
Pustaka teras, iaitu pakej vue npm
Dokumentasi Kandungan cukup untuk menjadi sebuah buku
Bina rantai alat (Vue CLI, Vue Loader dan pakej sokongan lain)
Digunakan untuk membina tunggal Penghalaan untuk aplikasi halaman Vue Router
Vuex untuk pengurusan negeri
Pelanjutan alatan pembangun penyemak imbas untuk penyahpepijatan dan analisis
Pelanjutan VSCode Vetur untuk menyokong pembangunan komponen fail tunggal
pemalam ESLint untuk gaya statik/semakan ralat
Uti Ujian Vue untuk ujian komponen
Pemalam JSX Babel tersuai yang memanfaatkan keupayaan masa jalan Vue
untuk VuePress untuk penjanaan tapak web statik
Ia adalah tepat kerana Vue ialah projek dipacu komuniti yang membolehkan semua ini. Kebanyakan projek ini telah dimulakan oleh ahli komuniti yang kemudiannya menjadi ahli pasukan Vue. Selebihnya projek pada asalnya dimulakan oleh saya, tetapi kini hampir sepenuhnya diselenggara oleh pasukan, kecuali perpustakaan teras. [Disyorkan: tutorial video vue.js]
"Keluaran lembut" Vue 3
Dengan keluaran versi utama baharu teras perpustakaan, Semua bahagian lain rangka kerja perlu dikemas kini secara serentak juga. Kami juga perlu menyediakan pilihan naik taraf untuk pengguna Vue 2. Bagi pasukan yang dipacu komuniti seperti Vue, ini adalah satu usaha yang besar. Walaupun perpustakaan teras Vue 3 telah siap, bahagian lain rangka kerja sama ada masih dalam versi beta atau belum mula menyesuaikan diri dengan Vue 3. Keputusan kami pada masa itu adalah untuk mengeluarkan perpustakaan teras terlebih dahulu, supaya pengguna awal boleh menggunakannya terlebih dahulu, dan pembangun pustaka dan rangka kerja lapisan atas boleh menyesuaikan diri dahulu, sementara kami terus mengemas kini rangka kerja yang lain.
Semasa proses ini, kami masih mengekalkan Vue 2 sebagai versi lalai untuk pemasangan dokumentasi dan npm. Ini kerana kami tahu bahawa bagi kebanyakan pengguna, Vue 2 masih akan memberikan pengalaman yang lebih konsisten dan lengkap sehingga seluruh Vue 3 disempurnakan.
Vue Baharu
Proses "pelancaran lembut" mengambil masa lebih lama daripada yang dijangkakan, tetapi saat itu akhirnya tiba: kami teruja untuk mengumumkan bahawa Vue 3 akan tersedia pada 2022 Menjadi versi lalai baharu pada 7 Februari.
Selain pustaka teras Vue, kami telah menambah baik hampir setiap aspek rangka kerja.
Rantai alat pembinaan yang sangat pantas berasaskan Vite
be609634581fe1bbacded492a56a3eb3 membawakan pengalaman pembangunan yang lebih lancar dan gabungan sintaks API
IDE TypeScript komponen fail tunggal yang disediakan oleh Volar menyokong
vue-tsc menyediakan semakan dan penjanaan jenis baris arahan untuk komponen fail tunggal
Pengurusan negeri yang lebih mudah disediakan oleh Pinia
Pelanjutan alat pembangun baharu, menyokong Vue 2/Vue 3 dan menyediakan sistem pemalam untuk membolehkan perpustakaan komuniti meluaskan panel alat pembangun itu sendiri.
Kami juga menulis semula sepenuhnya dokumentasi utama. Vuejs.org baharu (keluaran belum selesai, terjemahan bahasa Cina masih dalam proses) akan menyediakan gambaran keseluruhan rangka kerja terkini dan cadangan pembangunan, laluan pembelajaran yang fleksibel untuk pengguna daripada latar belakang yang berbeza, sepanjang panduan dan contoh Bertukar antara API pilihan dan tersusun, dan banyak lagi. bab baru yang mendalam. Prestasi tapak dokumentasi baharu itu sendiri juga sangat baik – kami akan meneroka perkara ini secara terperinci dalam catatan blog lain tidak lama lagi.
Butiran Suis Versi
Berikut ialah butiran yang kami panggil "versi lalai baharu". Selain itu, pastikan anda membaca bahagian Kemungkinan Tindakan di penghujung artikel untuk mengesahkan sama ada anda perlu membuat sebarang perubahan sebelum beralih kepada versi lalai untuk mengelakkan pengecualian.
teg keluaran npm
npm install vue akan memasang Vue 3 secara lalai.
Teg keluaran terbaharu semua pakej npm rasmi lain akan menunjukkan versi serasi Vue 3 mereka, termasuk vue-router, vuex, vue-loader dan @vue/test-utils.
Dokumen dan tapak rasmi
Semua dokumen dan tapak rasmi akan ditukar kepada versi Vue 3 secara lalai. Termasuk:
- http://vuejs.org - http://router.vuejs.org - http://vuex.vuejs.org - http://vue-test-utils.vuejs.org (将迁移到 http://test-utils.vuejs.org) - http://template-explorer.vuejs.org
Sila ambil perhatian bahawa http://vuejs.org baharu akan menjadi versi yang ditulis semula sepenuhnya, bukan versi yang digunakan pada masa ini di v3.vuejs.org.
Versi Vue 2 semasa tapak ini akan dipindahkan ke alamat baharu (awalan versi menunjukkan versi pustaka masing-masing, bukan versi pustaka teras Vue):
- http://vuejs.org -> http://v2.vuejs.org (旧的 v2 网址将自动重定向到新地址上) - http://router.vuejs.org -> http://v3.router.vuejs.org - http://vuex.vuejs.org -> http://v3.vuex.vuejs.org - http://vue-test-utils.vuejs.org -> http://v1.test-utils.vuejs.org - http://template-explorer.vuejs.org -> http://v2.template-explorer.vuejs.org
Gudang GitHub
Semasa artikel ini ditulis, perubahan berkaitan gudang telah berkuat kuasa.
vuejs 组织下的所有 GitHub 仓库将把默认分支切换到 Vue 3 对应的版本。此外,以下仓库将被重命名,以删除其名称中的 next:
- vuejs/vue-next -> vuejs/core - vuejs/vue-router-next -> vuejs/router - vuejs/docs-next -> vuejs/docs - vuejs/vue-test-utils-next -> vuejs/test-utils - vuejs/jsx-next -> vuejs/babel-plugin-jsx
此外,主文档的翻译仓库将被移至 vuejs-translations 组织下。
GitHub 会自动处理仓库的重定向,所以之前的源码与 issue 问题的链接应该仍然有效。
开发者工具扩展
开发者工具 v6 目前是发布到 Chrome Web Store 的 beta 频道下的,在版本切换后,将移至稳定频道。
目前的稳定频道仍然可用。它将被迁移到遗留频道。
可能需要采取的措施
未指定版本的 CDN 链接
如果你通过 CDN 链接使用 Vue 2 而没有指定版本,请确保通过 @2 来指定一个版本范围:
- <script src="https://unpkg.com/vue"></script> + <script src="https://unpkg.com/vue@2"></script> - <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script> + <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.min.js"></script>
注意:即使使用 Vue 3,你也应该始终在生产环境指定一个版本范围,以避免意外地加载到未来的大版本。
npm latest 标签
如果你使用 `latest` 标签或 `*` 来从 npm 安装 Vue 或其他官方库,请更新为明确使用兼容 Vue 2 的版本:
{ "dependencies": { - "vue": "latest", + "vue": "^2.6.14", - "vue-router": "latest", + "vue-router": "^3.5.3", - "vuex": "latest" + "vuex": "^3.6.2" }, "devDependencies": { - "vue-loader": "latest", + "vue-loader": "^15.9.8", - "@vue/test-utils": "latest" + "@vue/test-utils": "^1.3.0" } }
原文地址:https://zhuanlan.zhihu.com/p/460055155