Исходный код Vue 3.0 открыт, чтобы увидеть, какие новые функции доступны

внешний интерфейс Vue.js

Когда большинство китайцев все еще праздновали Национальный день, вчера рано утром Ю Юйси опубликовал исходный код Vue 3.0. Адрес исходного кода:GitHub.com/v UE JS/v UE-вы…. Хотя это все еще находится в версии Pre-Alpha, можно предвидеть, что более поздние версии Alpha, Beta и другие не должны быть слишком далеко.

在这里插入图片描述
Раньше прогнозировалось, что в дополнение к оптимизации производительности, скаффолдингу и новым функциям TypeScript определенно будет в центре внимания, поэтому в версии исходного кода Vue 3.0 98% кода написано на Typescript, и я полагаю, что будет 100% кода. % позже.

Исходный код этого выпуска содержит обзор основных архитектурных улучшений и новых функций, запланированных и реализованных для Vue 3.

1. Компилятор

在这里插入图片描述
Оптимизация компилятора в основном отражается в следующих аспектах:

  • Используйте модульную архитектуру
  • Оптимизировать «Дерево блоков»
  • Более агрессивная функция подъема статического дерева
  • Поддержка исходной карты
  • Встроенный префикс идентификатора (также известный как «stripWith»)
  • Встроенная функция красивой печати
  • После удаления функций исходной карты и префикса идентификатора версия браузера, сжатая с помощью Brotli, уменьшается примерно на 10 КБ.

2. Время выполнения

在这里插入图片描述
Обновление среды выполнения (Runtime) в основном отражается в следующих аспектах:

  • Значительное увеличение скорости
  • Поддерживает как Composition API, так и Options API, а также типизацию
  • Обнаружение изменений данных на основе прокси
  • Поддержка фрагментов
  • Порталы поддержки
  • Поддержка SOUSSENS W / ASYNC SETUP ()

3, миграция функций 2.x

在这里插入图片描述
Наконец, есть некоторые функции 2.x, которые не были перенесены, а именно:

  • Рендеринг на стороне сервера
  • keep-alive
  • transition
  • Compiler DOM-specific transforms
  • модификатор v-on DOM v-модель v-текст v-пре v-onc v-html v-шоу

Кроме того, упакованный код текущей версии Pre-Alpha — ES2015+, который еще не поддерживает IE11.

4. Структура проекта

В репозитории кода есть каталог пакетов, который в основном содержит соответствующие функции исходного кода Vue 3.0 Конкретное содержимое выглядит следующим образом.

  • Каталог реактивности: система реагирования на данные, это отдельная система, которую можно использовать с любым фреймворком.
  • каталог runtime-core: независимая от платформы среда выполнения. Поддерживаемые функции включают средства рендеринга виртуальных DOM, компоненты Vue и различные API-интерфейсы Vue.Мы можем использовать эту среду выполнения для реализации высокоуровневых сред выполнения для конкретной платформы, например пользовательских средств рендеринга.
  • Каталог runtime-dom: среда выполнения для браузеров. Его возможности включают обработку собственных API-интерфейсов DOM, событий DOM и свойств DOM.
  • Каталог runtime-test: облегченная среда выполнения, написанная специально для тестирования. Поскольку дерево DOM, «отображаемое» этой средой выполнения, на самом деле является объектом JS, эту среду выполнения можно использовать во всех средах JS.
  • каталог server-renderer: для SSR еще не реализован.
  • Каталог-ядро компилятора: независимый от платформы компилятор, который содержит как расширяемую базовую функциональность, так и все независимые от платформы плагины.
  • Каталог компилятора: Компилятор для браузера.
  • общий каталог: не предоставляет никакого API, в основном содержит некоторые независимые от платформы внутренние вспомогательные методы.
  • Каталог vue: используется для сборки «полной» версии со ссылкой на упомянутые выше каталоги среды выполнения и компилятора.

Ссылаться на:

nuggets.capable/post/684490… GitHub.com/v UE JS/v UE-вы…