Возможно ли использовать Vue 3, скомпилированный/встроенный в проект Vue 2?

#javascript #vue.js #vuejs2

Вопрос:

Я пытаюсь создать новый проект с использованием машинописного текста Vue 3, но я хочу использовать этот проект в моем существующем Vue 2 , почему я использую это ? Потому что мне нужно полностью обновить веб-сайт ,но для этого нужно время, и вы знаете, что менеджер по продуктам хочет, чтобы эти вещи были выпущены раньше 😁 😜 Поэтому я не могу полностью обновить, сделав переписывание, это будет на этапе

Мои способы-создать компоненты на Vue 3, а затем построить его для определения в проекте Vue 3

Возможно ли это ? Или это какой-то способ решить эту проблему ?

Комментарии:

1. Вы можете либо сделать их максимально совместимыми с обеими платформами (возможно, с vue-demi), либо использовать вложенные приложения Vue 3 внутри Vue 2.

2. Что означает вложенные приложения Vue 3? , Означает ли это, что я создаю проект Vue demi или добавляю библиотеку Vue demi либо в проект vie 3, либо в проект vue 3?

3. Вложенное приложение Vue 3 создается внутри Vue 2. Это включает в себя использование веб-компонентов Vue 3, см. v3.vuejs.org/guide/web-components.html . vue-деми означает, что вам нужно придерживаться Vue 2 и использовать API, который потребует небольших изменений при переходе на Vue 3 позже.

4. Означает ли это, что мне нужно развернуть или создать компоненты Vue 3? А потом построить его и обслуживать как CDN? Это то, что означало

5. Вам нужно создать V3 comps. Используете ли вы CDN или частный пакет NPM, или же для того, чтобы получить их в версии 2, на самом деле не имеет значения, в данный момент они являются просто еще одной библиотекой JS, которую необходимо каким-то образом импортировать.

Ответ №1:

Нет, вы не можете использовать компоненты Vue 3 в проекте Vue 2, но вы можете сделать обратное. Используйте сборку миграции Vue 3, чтобы включить компоненты Vue 2 в проект Vue 3. Эта сборка была разработана с целью постепенного переноса вашего проекта Vue 2 на новую версию, что похоже на то, что вы пытаетесь сделать.

Если в проекте Vue 3 при установке пакета NPM Vue 2, который имеет одноранговую зависимость от Vue 2 (например vue-select ), вы столкнетесь с подобной ошибкой установки:

 npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: vue3-with-vue-select@0.1.0
npm ERR! Found: vue@3.2.3
npm ERR! node_modules/vue
npm ERR!   vue@"^3.0.4" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer vue@"2.x" from vue-select@3.12.2
npm ERR! node_modules/vue-select
npm ERR!   vue-select@"*" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
 

Чтобы устранить ошибку, используйте --force флаг:

 npm install --force --save vue-select
 

Комментарии:

1. Так много предупреждений я получил во время исправления от vue-select.org , потому что при использовании большого количества слотов из этого компонента, иногда во время предупреждения об исправлении , все предупреждения исчезли и, похоже , не было никаких предупреждений или ошибок, но после того, как я проверил localhost, проект пуст в браузере и на, когда я проверил так много ошибок, и попытался исправить, но все еще возникли некоторые проблемы @tony19

2. @Harmnot Вот демонстрационная версия Vue 3 с vue-select, использующая сборку миграции: stackblitz.com/edit/vue3-with-vue-select?file=src/App.vue

3. Что касается предупреждений, вы, вероятно, имеете в виду предупреждения о одноранговой зависимости Vue 2 во время установки NPM. Эти предупреждения можно игнорировать, поскольку мы знаем, что зависимость от одноранговых узлов не имеет значения в проекте миграции Vue 3. Используйте этот --force флаг, чтобы обеспечить успешную установку.

4. Я определенно собирался это сделать, но вы знаете, у него есть 100 , чтобы сделать это вручную, и мне нужно также перестроить их библиотеку на node_modules, многие компоненты мне нужно обновить, а многие также больше не разрабатываются,

5. Что делать вручную? Разве цель не в том, чтобы полностью перенести ваш проект на Vue 3?