ライブラリを更新しようとしていますが、新しいバージョンには Vue 2 ではなく Vue 3 (tinymce-vue) が必要です。残念ながら、これは bootstrap-vue を使用する企業プロジェクトであり、Vue 3 とまだ完全な互換性はありません (bootstrap-vue3 はまだ実稼働準備ができておらず、まだ移行されていないいくつかのコンポーネントを使用しています)。
アプリケーション全体を Vue 3 に移行することが主な試みです。ただし、Vue 3 でブートストラップ コンポーネントを使用することはできません。互換モードを使用している場合、アプリの一部は動作しますが、そのコンポーネントを必要とする部分が表示されない/動作しません。または、Vue 3 を必要とするコンポーネントの他の部分が表示されません。壊れています。ライブラリ固有の互換性を提供する方法はありますか。また、この場合、2 つのライブラリが同じコンポーネント内で 2 つの異なるバージョンの Vue を必要とする場合に推奨されるアプローチは何ですか?
この質問を別の方法で尋ねるべきかどうかわかりません。これは StackOverflow での最初の質問なので、言い換えたり、詳細を提供する必要がある場合は、お知らせください。
問題は、Vue 2 と 3 のアプリケーションが同じ名前でバージョンが異なる
これには、優先される Vue バージョンとライブラリを使用してサブアプリケーションを構築してバンドルする必要があります。これは、マイクロ フロントエンド アプリケーションの概念に非常に近いものです。vue
パッケージに依存しているため、同じプロジェクト内に共存することが困難または不可能であることです。別の名前のvue
パッケージ エイリアスを使用したり、バージョンとしてモジュラー Vue (import Vue from 'vue'
) や Vue CDN (window.Vue#) を使用したりすることも可能です。 ## ) ファーストパーティ コードの別のバージョンの場合、対処する必要がある別の問題は、Vue ライブラリが特定の Vue バージョンを使用する必要があることです。
Vue 2 ラッパー コンポーネントは、Vue 3 サブアプリケーションと残りの Vue 2 アプリケーションの間のブリッジとして機能します。
リーリーラッパーとサブアプリケーションが、
provide/
inject
、テンプレート参照などの特定のポイントに基づいて追加の同期を必要とする場合、これを特別に実装する必要があります。この点では、Vue 3->Vue 2 アダプターや他のフレームワーク (Angular、React) に関連するアダプターと何ら変わりません。