#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?