この記事では、vue テクノロジー スタックに関する関連知識を提供します。お役に立てば幸いです。
#vue 注 1: Vue テクノロジー スタック
1、node.js
JavaScript コードをサーバー側で実行する場合は、JavaScript 実行環境 (実行環境)、node.js を提供する必要があります。 node.js は、Chrome V8 エンジンをカプセル化します。これは、JavaScript をサーバー上で実行できるようにする開発プラットフォームです。JavaScript を、PHP、Python、などのサーバーサイド言語と同等のスクリプト言語にします。 PerlとRuby。2. npm
node.js のパッケージ管理ツールは、必要なパッケージ、プラグイン、ツール、コマンドなどを一元管理するために使用されます。フロントエンド プロジェクトで使用できるため、開発と保守が簡単です。 npm は、package.json 設定ファイル内のプラグイン名の依存関係設定と対応するバージョン番号に基づいて、npm install コマンドを通じてプラグインをダウンロードします。ダウンロード後、プラグインは自動的に node_modules ディレクトリの下に配置されます。 。
3、ES6
JavaScript の新しいバージョン、ECMAScript6 の略称。 ES6 を使用すると、JS ロジックを迅速に実装するために提供される強力な機能を利用しながら、JS コードを簡素化できます。4. Babel
ES6 コードをブラウザ互換の ES5 コードに変換するプラグイン。5. プロジェクト構築ツール vue-cli
開発に必要な環境を構築し、生成される Vue プロジェクトのディレクトリ構造を自動生成するスキャフォールディング ツールです。6. ルーティング vue-router
シングルページ アプリケーションを作成します。このシングルページ アプリケーションはルーティングの切り替えのみを実行し、コンポーネントで構成されるページはルーティングは、シングルページ アプリケーションのコア プラグインです。7 状態管理ライブラリは、グローバルとして理解できます。可能な限り小規模なプロジェクトのデータを一元的に推奨する vuex は使用しないでください。少し面倒になります。バス メカニズムで完全に処理できます。これは、プロジェクト内のさまざまなデータの相互作用と再利用を均一に管理し、使用する必要があるデータ オブジェクトを保存するために使用されます。 #8. http リクエスト ツール axios
独自のプロジェクト条件に従ってカプセル化できる、カプセル化された ajax。axios は ES6 Promise に合格しました。9 とファイル パッケージ ツール webpack
は、フロントエンド プロジェクト ファイルを js にパッケージ化して圧縮でき、vue-loader やその他のローダーを通じてロードできます。構文の変換と読み込みを実装します。 。TypeScript、SCSS、LESS、スタイラス (CSS プリプロセッサ)、およびブラウザーで直接解析できないその他のテクノロジを、ブラウザーが直接解析できるコードに変換します。
10. Vue.js
レスポンシブ: ページはデータの変更に応答します
プログラミング パラダイム: 宣言型プログラミング (js は命令型プログラミング)データ双方向バインディング (ビューが変更されると、データもモデルに値を割り当て、モデルが変更されるとビューにも反映されます)。 Vue インスタンスvar vm = new Vue({ // 选项 el:"#app", //挂载要管理的元素,【string(CSS 选择器)| Element(HTMLElement 实例)】只在用 new 创建实例时生效。 data:{ //定义数据,【Object | Function】组件的定义只接受 function message:'hello world', }, methods:{ //方法【{ [key: string]: Function }】,不应该使用箭头函数来定义 method 函数 plus: function () { this.a++ } }})MVVM モデルに完全に従っているわけではありませんが、Vue の設計も MVVM モデルからインスピレーションを得ています。したがって、変数名
vm (ViewModel の省略形) は、Vue インスタンスを表すためにドキュメントでよく使用されます。
Vue インスタンスが作成されると、data オブジェクト内のすべてのプロパティが Vue の
応答システム
インスタンスの作成時に
data にすでに存在するプロパティのみが 応答
vm.b = 'hi' のような新しいプロパティを追加した場合、
b を変更してもビューの更新はトリガーされません。後でプロパティが必要になることがわかっていても、それが空であるか最初は存在しない場合は、初期値を設定するだけで済みます。例:
data: { newTodoText: '', visitCount: 0, hideCompletedTodos: false, todos: [], error: null}
ここでの唯一の例外は、
Object.freeze() を使用することです。これにより、既存のプロパティが変更されなくなり、応答システムが # 変更できなくなります。 ##track
さまざまです。 Object.freeze() メソッドはオブジェクトを freeze できます。凍結されたオブジェクトは変更できなくなります。オブジェクトが凍結されると、新しい属性をオブジェクトに追加したり、既存の属性を削除したりできなくなり、オブジェクトの既存の属性の列挙可能性、構成可能性、書き込み可能性も変更できなくなります。 、既存の属性の値は変更できません。さらに、オブジェクトのプロトタイプは、フリーズされた後は変更できません。 freeze()
渡されたパラメータと同じオブジェクトを返します。
インスタンスがマウントされた後は、vm.$el,vm.$data を使用して el ,data 要素にアクセスできます。
ライフ サイクル: オブジェクトの作成から消滅までのプロセス。
ライフサイクルフック:作成、マウント、更新、破棄
上記はvue 公式サイトのライフサイクル方法は、作成前/後、マウント前/後、更新前/後、破棄前/後の4段階に大別できます。各ステージのステータスは次のように要約されます。
beforeCreate: beforeCreate ライフサイクルが実行されるとき、データおよびメソッド内のデータは初期化されていないため、データおよびメソッド内のデータは現時点では使用できません。メソッド
created: データとメソッドが初期化されます。この時点で、メソッド内のメソッドとデータ
内のデータを使用できます。 beforeMount: テンプレート テンプレートはコンパイルされましたが、ページにマウントされていません。この時点では、ページはまだ前の状態
mounted:この時点で、Vue インスタンスの初期化が完了し、DOM がマウントされ、直接操作できるようになります。dom またはサードパーティの dom ライブラリを使用します。
beforeUpdate: この時点で、データは更新されましたが、ページはまだ同期されていません
updated: データとページはすべて更新されました
beforeDestory: Vueインスタンスは破棄フェーズに入りますが、すべてのデータとメソッド、命令、フィルターなどは使用可能な状態です
destroyed : 現時点では、コンポーネントは破棄されており、データは、
上記の紹介によると、beforeCreate、created、beforeMount、mountedの4つのライフサイクルは、ページの初回読み込み時に実行されるため、通常は処理を行います。 http は作成フェーズでデータの取得やデータに対する特定の処理をリクエストしますが、マウントフェーズでは jquery やその他のサードパーティの dom ライブラリを使用するなど、dom を操作します。次に、上記のさまざまなサイクルにおけるデータとページのステータスの違いに基づいて、他の操作も実行できるため、各ライフサイクルの開発ステータスは非常に重要であり、Vue をより詳細に制御できるように理解する必要があります。 。
関連する推奨事項: vue.js ビデオ チュートリアル
以上がVue 技術ノート: Vue 技術スタック (詳細な画像とテキストの説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

henthevuue.jsvirtualdomdetectsachange、itupdatesthevirtualdom、diffsit、およびAppliesminimalchangestothestotoreldom。

Vue.jsのVirtualdomは、実際のDomの鏡であり、正確ではありません。 1.作成と更新:Vue.jsは、コンポーネントの定義に基づいてVirtualdomツリーを作成し、まず状態が変更されたときにVirtualDomを更新します。 2。違いとパッチング:DIFF操作による古い仮想ドームと新しい仮想ドミーの比較、そして最小変更のみを実際のDOMに適用します。 3。効率:VirtualDomは、バッチの更新を許可し、直接DOM操作を削減し、レンダリングプロセスを最適化します。 VirtualDomは、Vue.jsがUIの更新を最適化するための戦略的ツールです。

Vue.jsとReactはそれぞれ、スケーラビリティと保守性に独自の利点があります。 1)Vue.jsは使いやすく、小規模プロジェクトに適しています。構成APIは、大規模なプロジェクトの保守性を向上させます。 2)Reactは、フックと仮想DOMがパフォーマンスと保守性を向上させる大規模で複雑なプロジェクトに適していますが、学習曲線は急です。

Vue.jsとReactの将来の傾向と予測は次のとおりです。1)Vue.jsはエンタープライズレベルのアプリケーションで広く使用され、サーバー側のレンダリングおよび静的サイト生成でブレークスルーを行いました。 2)Reactは、サーバーコンポーネントとデータ収集で革新され、並行性モデルをさらに最適化します。

Netflixのフロントエンドテクノロジースタックは、主にReactとReduxに基づいています。 1.反応は、高性能のシングルページアプリケーションを構築するために使用され、コンポーネント開発を通じてコードの再利用性とメンテナンスを改善します。 2。国家管理には、状態の変更が予測可能で追跡可能であることを確認するために、国家管理に使用されます。 3.ツールチェーンには、コードの品質とパフォーマンスを確保するために、Webpack、Babel、Jest、および酵素が含まれています。 4.パフォーマンスの最適化は、ユーザーエクスペリエンスを向上させるためのコードセグメンテーション、怠zyな読み込み、サーバー側のレンダリングを通じて達成されます。

Vue.jsは、非常にインタラクティブなユーザーインターフェイスを構築するのに適したプログレッシブフレームワークです。そのコア機能には、レスポンシブシステム、コンポーネント開発、ルーティング管理が含まれます。 1)レスポンシブシステムは、Object.DefinePropertyまたはプロキシを介したデータ監視を実現し、インターフェイスを自動的に更新します。 2)コンポーネント開発により、インターフェイスを再利用可能なモジュールに分割できます。 3)Vuerouterは、ユーザーエクスペリエンスを向上させるための単一ページアプリケーションをサポートしています。

vue.jsの主な欠点には次のものが含まれます。1。エコシステムは比較的新しいものであり、サードパーティのライブラリとツールは他のフレームワークほど豊富ではありません。 2。複雑な関数では、学習曲線が急になります。 3.コミュニティのサポートとリソースは、反応や角度ほど広範ではありません。 4.パフォーマンスの問題は、大規模なアプリケーションで発生する可能性があります。 5。バージョンのアップグレードと互換性の課題が大きくなります。

Netflixは、Reactをフロントエンドフレームワークとして使用します。 1.反応のコンポーネント開発と仮想DOMメカニズムは、パフォーマンスと開発効率を向上させます。 2。WebpackとBabelを使用して、コードの構築と展開を最適化します。 3.パフォーマンスの最適化のために、コードセグメンテーション、サーバー側のレンダリング、キャッシュ戦略を使用します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
