предисловие
Я перевел это раньше[Перевод] Юйси Ю: Процесс проектирования Vue3Упоминается: You Yuxi надеется выпустить Vue 3.0 в первой половине 2020 г., но уже июль, а 2020 г. на полпути.Многие люди подошли к проблеме Vue, чтобы спросить, что происходит сейчас, да. на разработке vite?
В связи с этим Ю Юй Си находится вvuejs/rfcВ нем была открыта проблема, специально объясняющая текущую ситуацию с Vue:
Связь:GitHub.com/vUEJS/RFCs/…
перевод
Многие из наших пользователей задают этот вопрос: когда будет готов Vue 3? Мы не можем дать окончательный ответ, поскольку расчетные сроки поставки программного обеспечения по своей сути неточны. Как некоммерческий проект, мы хотим сосредоточиться на написании отличного программного обеспечения, а не на сжатых сроках. Но это определенно было долгое ожидание, и мы знаем, что эти неопределенности могут затруднить проекты, планирующие использовать Vue 3. Поэтому мы хотели предоставить некоторые рекомендации и подробные обновления статуса, чтобы помочь нашим пользователям соответствующим образом скорректировать свои ожидания и планы.
Большая часть времени, затраченного на Vue 3, была потрачена на проектирование и сборку ядра, которое принесло множество интересных улучшений. Однако для того, чтобы пометить всю структуру как «готовую», необходимо использовать не только основные части Vue. Нам также нужны совместимые версии библиотек поддержки (Vue Router, Vuex, тестовые утилиты), инструменты (CLI, плагины eslint, расширения инструментов разработки браузера, расширения IDE) и документация (для новых и старых пользователей, мигрирующих). Несмотря на то, что мы усердно работали над разработкой всех этих частей, их согласование требует больших усилий и координации, что затрудняет точное прогнозирование графика. Изначально мы надеялись выпустить Vue 3 в первой половине 2020 года, но, учитывая текущий прогресс, нам пришлось его перенастроить. Наша текущая цель — выпустить RC-версию (версию-кандидат) в середине июля и официальную версию 3.0 в начале августа.
Древо решений
Однако это не означает, что вы не можете начать использовать Vue 3 прямо сейчас. В настоящее время большинство частей фреймворка находятся в бета- или альфа-версии, а базовая версия vue была тщательно протестирована нашими первоначальными пользователями. Единственное, что нас останавливает от RC — это расширение браузера devtools (сейчас находится в активной разработке). Все важные изменения прописаны в RFC, больших изменений у нас нет. Если вы ждали Vue 3, вот дерево решений, которое поможет вам спланировать соответствующим образом:
IWantVue3()
async function IWantVue3() {
await read(`https://github.com/vuejs/rfcs/pulls?q=is%3Apr+is%3Amerged+label%3Acore+-label%3Arevoked+-label%3A2.6+sort%3Acomments-desc`)
if (isTrue("I just want to play with Vue 3"))) {
// If you just want to try Vue 3 out - you can do it right now with Vite.
// Vite (https://github.com/vitejs/vite) is a new dev/build tool that we
// created that is lighter, faster and produces smaller bundles. It works
// with Vue 3 out of the box.
run(`npm init vite-app hello-vue3`)
return
}
if (isTrue("I am planning to use Vue 3 for a new project")) {
if (isTrue("I need IE11 support")) {
await IE11CompatBuild() // July 2020
}
if (isTrue("RFCs are too dense, I need an easy-to-read guide")) {
await migrationGuide() // July 2020
}
if (isTrue("I'd rather wait until it's really ready") {
await finalRelease() // Targeting early August 2020
})
run(`npm init vite-app hello-vue3`)
return
}
if (isTrue("I am planning to upgrade an existing Vue 2 project")) {
await IE11CompatBuild()
await migrationGuide()
await ecosystem(
// this is the tricky part: if you have an existing, non-trivial Vue 2
// app, you likely are using some dependencies that are not yet
// Vue-3-compatible, for example meta frameworks like Nuxt, or UI
// component libraries like Vuetify. If that's the case, our suggestion
// is don't be in a hurry to upgrade. It *will* take some time for the
// ecosystem to catch up.
// Also note that you can start using Vue Composition API in Vue 2 today
// via https://github.com/vuejs/composition-api - we are also going to be
// backporting compatible Vue 3 features to 2.x once 3.0 is out.
)
return
}
if (isTrue("I am the author of a Vue ecosystem library")) {
// It's time to make your lib Vue 3 compatible!
return
}
}
Текущее состояние фреймворка
Vue 3 Core
- Текущая версия: v3.0.0-beta.18
- Адрес гитхаба:GitHub.com/v UE JS/v UE-вы…
- RFC-адрес:GitHub.com/vUEJS/RFCs/…
Vue 3 Core находится в стадии бета-тестирования более двух месяцев. Мы объединили все запланированные критические изменения RFC, и никаких дальнейших критических изменений не планируется до официального выпуска 3.0.
Тысячи первопроходцев использовали его в новых проектах и помогли нам исправить множество ошибок и обнаружили некоторое непоследовательное поведение с Vue 2. На данном этапе мы считаем ядро Vue 3 достаточно стабильным и готовым к RC.
Vue Router
- Текущая версия: v4.0.0-beta.1
- Адрес гитхаба:GitHub.com/v UE JS/v UE-день…
- RFC-адрес:GitHub.com/vUEJS/RFCs/…
Версия 4.0 хуков маршрутизатора по-прежнему немного несовместима с версиями vue-router 3.x, но это единственное, что заставило Vue Router быть помеченным как бета-версия. Эту версию Vue Router можно использовать в некритичных новых проектах.
Vuex
- Текущая версия: v4.0.0-beta.4
- Адрес гитхаба:GitHub.com/v UE JS/v u ex/…
Единственная разница между Vuex 4.0 и 3.x заключается в том, что они совместимы с Vue 3! И он готов перейти на этап RC с Vue 3.
Vue CLI
В настоящее время доступно черезvue-cli-plugin-vue-nextиспользовать Vue 3 с Vue CLI. Вы можете создать новый проект, а затем запустить vue add vue-next, чтобы переключиться на Vue3. Когда RC будет достигнут, Vue 3 станет опцией в процессе создания проекта.
Обратите внимание, что если вам не нужна совместимость с Webpack и IE11, вы также можете использоватьViteчтобы начать проект Vue 3.
поддержка JSX
В настоящее время существует две реализации преобразований JSX для Vue 3 с немного другим синтаксисом (для функций, специфичных для Vue):
мы используемЭта проблемасобрать входные данные для обеспечения согласованности дизайна и разработать формальную спецификацию того, как функциональность Vue должна обрабатываться в JSX. Если вы используете Vue с JSX, впроблемапредоставить свой отзыв.
другие проекты
| заглавие | условие |
|---|---|
| vue-devtools | WIP (поддерживает бета-версию Vue 3 в начале июля) |
| eslint-plugin-vue | v7.0.0-alpha.9 [адрес на гитхабе] |
| @vue/test-utils | v2.0.0-alpha.7 [адрес на гитхабе] |
| vue-class-component | v8.0.0-alpha.6 [адрес на гитхабе] |
| vue-loader | v16.0.0-beta.4 [адрес на гитхабе] |
| rollup-plugin-vue | v6.0.0-beta.6 [адрес на гитхабе] |
Замечательные статьи в прошлом
- «Исправьте нецивилизованный феномен GitHub! Microsoft запускает раздел комментариев! 》
- «Vue 3.0.3: добавлена передача переменных CSS и последнее предложение Ref»
- «[Перевод] Юйси Ю: Предложение по синтаксическому сахару»
- «Двойной 11 маленький черный ящик — это очень круто? Давайте улучшим его с помощью переменных CSS! 》
- «Не стоит недооценивать Цзюгунге, один вопрос может раскрыть истинную форму кандидата! 》
- «Вопросы на собеседовании по макету мобильного терминала всесторонне изучают ваши навыки CSS (в центре)»
- «Серия запутанных действий после установки объекта-прототипа на прокси»
- «Супер забавная новая функция Vue: портал DOM»
- «Супер забавная новая функция Vue: введение переменных JS в CSS»
- «Создайте собственную визуальную карту данных, не полагаясь на какую-либо библиотеку»
- «Использование суперпопулярной библиотеки React CSS-in-JS в проектах Vue: стилизованные компоненты»
- «Наконец-то настала очередь Vue вдохновлять React? 》
- «Небольшая яма Vue3 под IOS»
- «Оптимизируйте свой проект React с помощью immer вместо immutable в 2020 году»
- «Допрос души от «Бога Троицы», автор буклета «React Hooks and Immutable»
- «Хорошие новости, официальная документация Vue3 опубликована на китайском языке! 》
- "Использование хуков в новой версии vue-router"
- Vue 3: обновление статуса на середину 2020 г.
- «[Перевод] React 17 наконец-то выпустила RC-версию, официальный представитель сказал, что 17 — это переходная версия! 》
- «[Перевод] Юси Ю: Процесс проектирования Vue3»
- «Отец рефакторинга Node Deno наконец-то выпущен, заменит ли он в конечном итоге Node?» 》
- «Бета-версия Vue3 была выпущена рано утром, и она даже публично поддержала проект строительных лесов! 》