検索

ホームページ  >  に質問  >  本文

Vue 3 を Vue 2 に移行するには、Vue 3 と bootstrap-vue (Vue 2) で少なくとも 1 つのライブラリを使用するオプションが必要です。

ライブラリを更新しようとしていますが、新しいバージョンには Vue 2 ではなく Vue 3 (tinymce-vue) が必要です。残念ながら、これは bootstrap-vue を使用する企業プロジェクトであり、Vue 3 とまだ完全な互換性はありません (bootstrap-vue3 はまだ実稼働準備ができておらず、まだ移行されていないいくつかのコンポーネントを使用しています)。

アプリケーション全体を Vue 3 に移行することが主な試みです。ただし、Vue 3 でブートストラップ コンポーネントを使用することはできません。互換モードを使用している場合、アプリの一部は動作しますが、そのコンポーネントを必要とする部分が表示されない/動作しません。または、Vue 3 を必要とするコンポーネントの他の部分が表示されません。壊れています。ライブラリ固有の互換性を提供する方法はありますか。また、この場合、2 つのライブラリが同じコンポーネント内で 2 つの異なるバージョンの Vue を必要とする場合に推奨されるアプローチは何ですか?

この質問を別の方法で尋ねるべきかどうかわかりません。これは StackOverflow での最初の質問なので、言い換えたり、詳細を提供する必要がある場合は、お知らせください。

P粉064448449P粉064448449365日前481

全員に返信(1)返信します

  • P粉046387133

    P粉0463871332023-12-29 15:53:24

    問題は、Vue 2 と 3 のアプリケーションが同じ名前でバージョンが異なる vue パッケージに依存しているため、同じプロジェクト内に共存することが困難または不可能であることです。別の名前の vue パッケージ エイリアスを使用したり、バージョンとしてモジュラー Vue (import Vue from 'vue') や Vue CDN (window.Vue#) を使用したりすることも可能です。 ## ) ファーストパーティ コードの別のバージョンの場合、対処する必要がある別の問題は、Vue ライブラリが特定の Vue バージョンを使用する必要があることです。

    これには、優先される Vue バージョンとライブラリを使用してサブアプリケーションを構築してバンドルする必要があります。これは、マイクロ フロントエンド アプリケーションの概念に非常に近いものです。

    Vue 3 固有のライブラリ (tinymce-vue) を使用し、外部と通信するためにすべてのパブリック API を公開するように特別に記述された Vue 3 サブアプリケーションがあるとします。 リーリー

    Vue 2 ラッパー コンポーネントは、Vue 3 サブアプリケーションと残りの Vue 2 アプリケーションの間のブリッジとして機能します。

    リーリー

    ラッパーとサブアプリケーションが、

    provide

    /inject、テンプレート参照などの特定のポイントに基づいて追加の同期を必要とする場合、これを特別に実装する必要があります。この点では、Vue 3->Vue 2 アダプターや他のフレームワーク (Angular、React) に関連するアダプターと何ら変わりません。

    返事
    0
  • キャンセル返事