ホームページ >ウェブフロントエンド >jsチュートリアル >vue.js を使用する理由 フロントエンド開発者の 46% が vue.js を使用しているのはなぜですか?
一言で要約すると、データ バインディングのアイデアを使用して、Vue は単一のページ、大規模なフロントエンド システム、またはモバイル アプリのインターフェイスを簡単に作成できます。
1. Vue.js とは何ですか?
#● プログレッシブ フレームワーク##● ボトムアップの増分開発設計
##● 習得が簡単##● 統合が簡単
Vue.js (/vju?/ と発音、ビューに似ています) は、ユーザー インターフェイスを構築するための進歩的なフレームワークです。他の重量級フレームワークとは異なり、Vue はボトムアップの増分開発設計を採用しています。 Vue のコア ライブラリはビュー レイヤーのみに焦点を当てており、学習や他のライブラリや既存のプロジェクトとの統合が非常に簡単です。一方、Vue は、Vue エコシステムによってサポートされる単一ファイル コンポーネントとライブラリを使用して開発された複雑な単一ページ アプリケーションを実行する能力を十分に備えています。
[推奨コース:
vuejs チュートリアル]
2. vue.js はどのような種類のインターフェイスに適していますか?
a. フォーム項目が多いb. ユーザーの操作に合わせて内容を変更する必要がある
Vue.js はツールですZhihu に似た Web ページを構築するには、多くのフォーム項目があり、ユーザーの操作に基づいてコンテンツを変更する必要がある Web ベースのアプリケーションです。
3. シングル ページ アプリケーション (SPA) とは何ですか?
ページはアプリケーション (サブアプリケーション)名前が示すように、シングルページ アプリケーションは通常、アプリケーションであるページを指します。 、サブアプリケーションにすることもできます。たとえば、Zhihu のページはサブアプリケーションと見なすことができます。一般にシングルページアプリケーションでは対話的な処理が多く、ユーザーの操作に応じてページ上のコンテンツが動的に変化する必要があります。
4. JQuery を使用して、前述した Zhihu の Web バージョンを作成することもできます。なぜ Vue.js を使用する必要があるのでしょうか?
a. 製品は必ず繰り返し変更する必要があります b. 変更により DOM の関連付けとネスト レベルが変更される可能性があり、これにより関連するコードが変更されます非常に複雑な
c と vue.js がこの問題を解決できます
初めて JQuery を書いたときに ('#xxx').parent( と書いたことをまだ覚えていますか? ).parent ().parent() のようなコードはどうでしょうか?初めて書くときはページ内に要素が少ないと感じるので、この要素の父親の父親の父親を見つければいいだけではないでしょうか? この要素の父親の父親の父親を書いてもいいかもしれませんコメントで明らかに。しかし、数日後にプロジェクト チームのリーダーやプロダクト マネージャーが突然、作成した Web ページの変更を要求した場合、この変更要求はページの構造に影響を及ぼし、DOM の関連付けとネスト レベルが変更されます。 ('#xxx').parent().parent().parent() は $('#xxx').parent().parent().parent().parent().parent( ) になる場合があります。
これは大したことではありません。将来的には、製品のイテレーションがますます速くなり、より多くの変更が行われるようになり、ページ上に複数の同様の関連付けられたネストされた DOM 要素が存在し、変更が行われるようになります。非常に手間がかかります。さらに、JQuery セレクターによるページ要素の検索や DOM 操作自体もパフォーマンスが低下するため、おそらくこのページを開こうとしたときに、ますますスタックして開始できなくなる可能性があります。
この時点で Vue.js を学習していれば、こうした不満はもう存在しません。
5. フロントエンドでよく参照されるビュー レイヤーとは何ですか?
HTML の DOM を他の部分とは独立した層に分割することができ、この層をビュー層と呼びます。 Vue のコア ライブラリはビュー レイヤーのみに焦点を当てています
6. jquery を使用して完全なページを開発するプロセスは何ですか?
a、HTML 記述フレームワークb、CSS 装飾
c、js インタラクション
JQuery に関して言えば、 JavaScript の DOM 操作といえば、これが必要です。 JQuery を使用して Zhihu を開発する場合、JQuery のさまざまな DOM 操作メソッドを使用して、HTML の DOM 構造を操作する必要があります。
ここで Web ページ アプリケーションを抽象化します。HTML の DOM は実際にはビューです。Web ページは、DOM の組み合わせとネスト、そして CSS の変更を通じて、最も基本的なビュー構造を形成します。基本的なビュー構造は、より美しく見せるための「メイクアップ」です。最後に、インタラクティブな部分に関しては、JavaScript を使用してユーザーのインタラクティブなリクエストを受け入れ、イベント メカニズムを通じてユーザーのインタラクティブな操作に応答し、特定の DOM の変更などのイベント処理関数内のさまざまなデータを変更する必要があります。 innerHTML または innerText 部分。
7. Vue.js を使用すると、Web ベースのフロントエンド アプリケーションの開発が非常に便利になるのはなぜですか?
a、宣言型スタイルb、レスポンシブ データ バインディング
c、コンポーネント ベースの開発
d、仮想 DOM
Vue.js は宣言的で応答性の高いデータ バインディングとコンポーネント ベースの開発を備えており、また、名前を見ただけで豪華に聞こえるテクノロジである Virtual DOM も使用しているからです。
8. vue.js でよく言われる動的データ バインディングとは何ですか?
つまり、vue.js はデータの変更に自動的に応答し、ユーザーがコード内で事前に記述したバインド関係に従って、すべてのデータを変更し、バインドされたコンテンツを表示します。このバインディング関係は、図の input タグの v-model 属性によって宣言されているため、他の場所で vue.js を宣言型レンダリング テンプレート エンジンと大ざっぱに呼んでいる人がいるかもしれません。 9. フロントエンドでコンポーネント開発が必要なのはなぜですか? a. 非コンポーネント開発コードとワークロードは非常に大きいです b. 変更は死よりも悪いです しかし、現在は単一ページで作業しています。アプリケーション、ページの操作、構造は非常に複雑です。ページ上に記述する必要があるモジュールが多数あり、モジュールのコード量と作業負荷が非常に大きくなることがよくあります。独自のメソッドに従って開発すると、疲れる。また、将来的に製品の要件が変わった場合、修正が非常に面倒で、一つのdivを移動すると他のdivが追随してページ全体がめちゃくちゃになったり、内部のDOMイベントがおかしくなったりするのではないかと心配です。 JavaScriptのイベントバブリング機構により関数が修正され、関数を処理した後に様々な不可解で奇妙なバグが発生します。 10. フロントエンドでコンポーネント開発を行うにはどうすればよいですか? 11. Virtual DOM テクノロジーがあるのはなぜですか? 12. 仮想 DOM を実装するにはどうすればよいですか? 13. シングルページ アプリケーション開発に Vue.js を使用するにはどうすればよいですか? 最後に、コンポーネント部分を簡単に見てみましょう。コンポーネントの概念を理解した後、インターネット上のさまざまな実践的なビデオや記事、および他の人のオープンソースのソース コードを見始めます。 14. ECMAScript とは何ですか? ECMAScript と JavaScript の関係は、前者が後者の仕様であり、後者が前者の実装であるということです (他の ECMAScript 方言には Jscript や ActionScript が含まれます)。日常的な状況では、これら 2 つの単語は置き換え可能です。 ECMAScript6 は、新世代の JavaScript 言語です。 15. Webpack とは何ですか? a. フロントエンド パッケージング ツール Webpack は、フロントエンドのパッケージ化および構築ツールです。これまでに HTML、CSS、JavaScript を手動で記述していて、link タグを使用して HTML ファイルに CSS を導入し、Script タグの src 属性を使用して外部 JS スクリプトを導入したことがある場合は、このツールに不慣れであることは間違いありません。 。それは構いません。まず、なぜ Webpack を使用する必要があるのかを理解してから、その理由を理解して勉強しましょう。 16. Webpack を使用する理由は何ですか? a. さまざまな素材の管理が便利 b. ブラウザのアクセス数を減らすためのパッケージ化 前述したように、単一ページにするアプリケーション プログラム自体は非常に複雑で、実行時に多くのマテリアルや他のサードパーティ ライブラリを使用することは間違いありません。 前に述べたように、Webpack はフロントエンド パッケージ化ツールですが、なぜフロントエンド コードをパッケージ化する必要があるのでしょうか?単一ページのアプリケーションでは多くのマテリアルが使用されるため、各マテリアルが src 属性または HTML のリンクを介して導入される場合、ページをリクエストするときにブラウザーは 10 を超えるリクエストを開始する必要があり、多くの場合、これらのリソースがリクエストされます。すべてのスクリプト コードまたは非常に小さな画像。これらのリソース自体はわずか数キロバイトであり、ダウンロードには 1 秒もかかりません。ただし、HTTP はアプリケーション層プロトコルであるため、その下位層はトランスポート層プロトコルである TCP であり、 TCP のハンドシェイクとウェーブ。このプロセスは、リソース自体をダウンロードするよりも時間がかかる場合があるため、これらの小さなファイルをすべて 1 つのファイルにパッケージ化する必要があります。この方法では、複数のリソースを 1 回の TCP ハンドシェイクとウェーブ プロセスでダウンロードでき、複数のリソースをダウンロードできます。これらはすべて HTTP リクエストを共有するため、ヘッドやその他の部分も共有されます。これはスケール効果を形成することと同等であり、Web ページの表示が高速になり、ユーザー エクスペリエンスが向上します。 17. NPM と Node.js とは何ですか?彼らの関係は何ですか? a. Node.js はサーバーサイド JavaScript 実行環境です Node.js はサーバーサイド JavaScript 実行環境です。Node.js は次の目的で使用できます。 JavaScript に依存しないプログラムを作成します。 b. Node.js は独立したプログラムを作成できます (Webpack は Node.js によって作成されます) 前に述べたように、Webpack は Node.js によって作成されるため、フロントエンド開発として, 独立したプログラムを作成するために Node.js を使用しない場合でも、Node.js の実行環境が必要です。結局のところ、多くのフロントエンド ツールは Node.js を使用して作成されています。 c. NPM は、node.js パッケージ マネージャーです (Java の Maven (パッケージ依存関係管理) に似ており、PHP にも同様のものがあります)。 NPM は、node.js パッケージ マネージャーです。従来の開発ではJQuery.jsのほとんどをBaiduで検索して公式サイトからダウンロードしたり、CDNリソースを直接導入したりしていましたが、この方法は面倒でした。将来他のパッケージに遭遇した場合、このパッケージのコード自体が他のパッケージを呼び出す可能性があります (このパッケージは他のいくつかのパッケージに依存しているとも言われています)。その場合は、次のようなパッケージをプロジェクトに導入する必要があります。非常に難しい。 NPM パッケージ マネージャーを入手したので、 (例: 18) を介して直接導入できます。 vue.js のスキャフォールディング ツールです。率直に言うと、これはプロジェクト ディレクトリの生成、Webpack、およびさまざまな依存パッケージの構成を自動的に支援するツールです。 を通じてインストールできます。次の -g はグローバル インストールを意味します。コマンドラインを開いた後、vue コマンドを通じて直接呼び出すことができます。 19. Vuex と Vue-route とは Vuex は vue の状態マネージャーです。単一ページのアプリケーションでさまざまな状態を集中管理するために使用されます。 Vue-route は vue のフロントエンドルーターで、インターネットにアクセスするために使用するルーターではなく、リクエストエントリとページのマッピング関係を管理するものです。更新せずにページの一部を置き換えることができるため、ユーザーは Web ページに切り替わったように感じます。 この 2 つを明確に説明すると紙数が多くなってしまうので、ここでは簡単に説明しますが、最も重要なことは、まず vue.js 自体を学ぶことです。 npm install xxx包名称
npm install vue
npm install vue-cli -g
以上がvue.js を使用する理由 フロントエンド開発者の 46% が vue.js を使用しているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。