検索
ホームページウェブフロントエンドVue.jsvueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

バージョンに応じて区別するにはどうすればよいですか?以下の記事では、プロジェクト内の vue のバージョンに応じた差別化方法を紹介しますので、ご参考になれば幸いです。

vueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

最近、プロジェクトの初期化とビルド中に、コンソール エラーの問題が発生しました。lib_exports.getCurrentInstance は関数ではありません。この問題のトラブルシューティングを行っています。その過程でいくつかの知識を学びました: vue には、2.6.x2.73.x など、多くのバージョンがあります。異なる vue バージョンには使用方法があります。異なるプロジェクトに公開ツールを提供する必要があると仮定すると、異なるプロジェクトの Vue バージョンに応じてツールをどのように区別できるでしょうか?まず実装方法を考えてから、質問を念頭に置きながら読み進めてください。 [関連する推奨事項: vuejs ビデオ チュートリアル Web フロントエンド開発 ]

vueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

初期トラブルシューティング

エラー スクリーンショットからわかるように、直接の原因は、vueuse## の useVModel メソッドで getCurrentInstance メソッドを呼び出すことによって発生するコンソール エラーです。 #。 vueuse のソース コードから、vueuse が vue-demi から getCurrentInstance メソッドをインポートしていることがわかります。

次に、以下に示す

vue-demi のソース コードを確認すると、何か間違っていることがわかりました。このプロジェクトで使用する vue のバージョンは vue2 です。なぜ isVue なのかというと、コード内の = true ? ?さらに、getCurrentInstance は vue2.7 と vue3 にのみ組み込まれています。vue2.7 より前では、getCurrentInstance@vue/composition-api を通じてのみ使用できます。 。

vueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

#vue-demi 原則

##vue-demi

は同時サポート A vue2.x および vue3.x 用のツールを作成するためのツール ライブラリ。Vueuse はこのライブラリを使用して、vue2.6.x、vue2.7、および vue3.x 間のいくつかの違いを滑らかにします。 vue-demi

package.jsonscripts セクションを確認すると、postinstall で構成されていることがわかります。 npm scriptフック、postinstallフックは、pnpm install コマンドを実行した後に実行されます。

node_modules/vue-demi/scripts/postinstall.jsvueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています が何をするのか見てみましょう。最初に vue (

require(' vue')

)。 vite または webpack で { find: /^vue$/, replace: '@xf/vue' }, などの vue エイリアスを設定した場合、その設定はスクリプトはここにあります。はい、スクリプトは依存関係がインストールされた直後に実行されるためです。この時点ではプロジェクトは開始されておらず、Vite とは何の関係もありません。 vue をロードしようとすると、条件を判断して switchVersion メソッドを実行します。

switchVersion メソッドの主な動作は、渡されたバージョン番号パラメータに基づいてさまざまな構成コンテンツをコピーし、ターゲット ファイル内で置き換えることです。

vueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

vue2.5 または vue2.6 の場合、次のソース コード コンテンツをコピーします:

vueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

vue3 の場合は、次のソース コード コンテンツをコピーします。

vueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明しています

vue-demivueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明していますさまざまな vue バージョンに差別化された処理を実装する原則は、次のとおりです。こちらです。

根本原因と解決策

プロジェクトのコンソール エラーの問題に戻ります。これは、vue-demi がプロジェクトの vue を認識できないためです。これは、vue ソース コードが変更された後のインストールされたプロジェクトが

@xf/vue

であり、pnpm add vue が存在しないためです。認識されない場合、vue-demi はデフォルト設定を使用します (デフォルト設定は vue3 設定です)。 コードの実行時に使用する vue は vue2.5.X です。import { getCurrentInstance } from 'vue' を試行すると、必ずエラーが発生します。

解決策は、vue-demi が vue バージョン構成を手動で切り替えるコマンドを提供することです。プロジェクトの準備 npm スクリプトを構成します: npx vue-demi-switch 2,その後、プロジェクトの依存関係をインストールし、vue2 構成に手動で切り替えるたびに実行されます。

(学習ビデオ共有: vuejs 入門チュートリアル 基本プログラミング ビデオ )

以上がvueのバージョンに応じてプロジェクトを区別する方法については記事で詳しく説明していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
总结分享几个 VueUse 最佳组合,快来收藏使用吧!总结分享几个 VueUse 最佳组合,快来收藏使用吧!Jul 20, 2022 pm 08:40 PM

VueUse 是 Anthony Fu 的一个开源项目,它为 Vue 开发人员提供了大量适用于 Vue 2 和 Vue 3 的基本 Composition API 实用程序函数。本篇文章就来给大家分享几个我常用的几个 VueUse 最佳组合,希望对大家有所帮助!

5 款适合国内使用的 Vue 移动端 UI 组件库5 款适合国内使用的 Vue 移动端 UI 组件库May 05, 2022 pm 09:11 PM

本篇文章给大家分享5 款适合国内使用的 Vue 移动端 UI 组件库,希望对大家有所帮助!

聊聊Vue3+qrcodejs如何生成二维码并添加文字描述聊聊Vue3+qrcodejs如何生成二维码并添加文字描述Aug 02, 2022 pm 09:19 PM

Vue3如何更好地使用qrcodejs生成二维码并添加文字描述?下面本篇文章给大家介绍一下Vue3+qrcodejs生成二维码并添加文字描述,希望对大家有所帮助。

手把手带你利用vue3.x绘制流程图手把手带你利用vue3.x绘制流程图Jun 08, 2022 am 11:57 AM

利用vue3.x怎么绘制流程图?下面本篇文章给大家分享基于 vue3.x 的流程图绘制方法,希望对大家有所帮助!

如何使用VueRouter4.x?快速上手指南如何使用VueRouter4.x?快速上手指南Jul 13, 2022 pm 08:11 PM

如何使用VueRouter4.x?下面本篇文章就来给大家分享快速上手教程,介绍一下10分钟快速上手VueRouter4.x的方法,希望对大家有所帮助!

Github 上 8 个不可错过的 Vue 项目,快来收藏!!Github 上 8 个不可错过的 Vue 项目,快来收藏!!Jun 17, 2022 am 10:37 AM

本篇文章给大家整理分享8个GitHub上很棒的的 Vue 项目,都是非常棒的项目,希望当中有您想要收藏的那一个。

聊聊vue指令中的修饰符,常用事件修饰符总结聊聊vue指令中的修饰符,常用事件修饰符总结May 09, 2022 am 11:07 AM

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?React和Vue项目的解决方法浅析如何覆盖组件库样式?React和Vue项目的解决方法浅析May 16, 2022 am 11:15 AM

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン