ノードの利用は古くから行われており、利用範囲も非常に広く、フロントエンドのあるところにはノードがあるように思えます。本稿ではこの問題を大きく5つの側面から解説する。
ノードの出現により、フロントエンド開発に ajax に続く新しい外観が与えられ、開発効率とパフォーマンスが質的に向上したことがわかっています。帰納は常に知識向上の重要な部分であり、この記事では多くの内容を参照した後、ノードのアプリケーションの入門レベルの概要を説明します。この記事を読んで、大きなフロントエンドにおけるノードのステータスとアプリケーションを明確に理解できることを願っています。
まず写真を見てください。
ノードがもたらすもの:
この図から、ノードのアプリケーションは非常に広範囲にわたっており、最も一般的に使用されているのはエンジニアリング、オートメーション、npm であることがわかります。
ノードの基本概念
1. ブラウザでは動作しないJavaScript
2. Chrome JavaScript ランタイムに基づくプラットフォーム
3. Google の V8 エンジンに基づくイベント駆動型 I/O サーバー側 JavaScript 環境
次に、大きなフロントエンドでの Node.js のアプリケーションを詳しく見てみましょう。
広く応用される
非ブラウザ側で動作するjs(フロントエンド環境構築、クラウド構築、サービス、ミドルウェアなど)はすべてnode.jsアプリケーションシナリオを用意
応用
1. フロントエンドツールチェーンレベル
2、npm
3. エンジニアリング関連
第四に、フロントエンドとリアエンドが完全に分離されています。
5. サーバー
1. フロントエンドツールチェーン
babel、webpack、eslint、jest などの具体的な使用法については説明しません。
2、npm
1.独自のコマンド
npm パッケージの管理とノード ファイルの実行に使用されます
2.npmパッケージ
特徴: npm パッケージは全体として、ロジック抽象化、コンポーネント抽象化、関数抽象化などの一般的なアプリケーションを備えたコード クラスの抽象化です。
3. エンジニアリング関連
フロントエンド環境の構築は、フロントエンド開発作業における node.js の最も価値のあるアプリケーションの 1 つです。node の出現により、フロントエンド開発は焼き畑の時代から、テクノロジー。フロントエンド エンジニアリングは、前述の webpack、gulp、babel、eslint などに依存しています。クライアント側の機能に加えて、完全なスキャフォールディング システムには、自動構築 (jenkins など) およびコマンドライン パブリッシュ機能も含まれています。
デスクトップアプリケーションを開発する
Node.js を使用すると、js を使用してデスクトップ アプリケーションを開発できます。現在、Electron は人気のあるデスクトップ アプリケーション開発ツールです。nodejs と chromium を組み合わせているため、ユーザーは、node.js 関数を呼び出し、モジュール内のほぼすべての nodejs コミュニティを使用できます。
現在、Web アプリケーションが非常に普及しており、デスクトップ アプリケーションは忘れ去られているように見えますが、デスクトップ アプリケーションにもいくつかの利点があります。フロントエンドエンジニアリングが統合され、簡素化されます。
フロントエンドエンジニアリングの意味
第四に、フロントエンドとリアエンドが完全に分離されています。
1. フロントエンド アプリケーションはサーバー側のコードから分離され、node.js によって提供されるサービス上に独立してデプロイされます。
レンダリング方法は 2 つあります。1 つは従来のレンダリングで、ブラウザーで HTML コードを生成します。
もう 1 つは、サーバー側レンダリング (ssr) を使用する方法です。これは、Java が以前に HTML コードを生成する方法と似ていますが、現在の ssr は実際のサーバーとは何の関係もありません。ssr はノード側でレンダリングする方法です。
2. 大規模プロジェクトをベースとしたフルスタック開発
フロントエンドの独立した展開に基づいて、データ処理、インターフェイス プロキシ、ターミナル アダプテーションなどの論理コードがノード側に追加され、フロントエンドのスケーラビリティとパフォーマンスが大幅に向上します。一般的なフルスタック フレームワークには、egg、midway などが含まれます。
フロントエンドとリアエンドの完全分離の必要性
1. 開発プロセスでは、一部の責任が明確に分割されていません。フロント エンドとバック エンドの分離は、フロント エンドがバック エンドに依存しなくなることを意味します。バック エンドはモデル層に集中でき、フロント エンドは集中できるようになります。ビューとコントローラー上で
2. Web パフォーマンスの最適化では、フロントエンドで実行できる最適化作業には大きな制限があり、多くの最適化はバックエンドとの連携をベースに完了する必要があります。中間層として Node.js が使用されるため、フロントエンドには十分な最適化の決定がある
3. フロントエンドはビジネスに基づいて、フロントエンド アーキテクチャを調整し、さまざまなテクノロジー スタックを統合できます。
フロントエンドとリアエンドの完全分離の適用
一定の技術サポートがあるチームに適しており、分離のために分離することはできません
フロントエンドに依存しない展開拡張機能
5. サーバーとしてのノード
ノードとサーバーレス
サーバーレスは 2019 年に中国で出現し始め、まだ大規模には適用されていませんが、サーバーレスは避けられないトレンドです。
新しいタイプのインターネット アーキテクチャとして、直接的または間接的にクラウド コンピューティングの発展を促進し、AWS Lambda から Alibaba Cloud Function Computing に至るまで、サーバーレスはずっと謳歌してきましたが、同時にサーバーレス ベースの軽量コンピューティングも始まりました。クラウドコンピューティングの段階に入ります。
サーバーレスの中核は faas (サービスとしての機能) であり、これにより、高いリソース コスト、高い運用保守コスト、高い開発コスト、急速に変化する要件への適応の難しさなど、従来の BFF の問題や問題点が解決されます。開発者はビジネス ロジックに集中できるようになり、その他の基盤となるリソースと運用および保守作業が完全にカプセル化されています。
ノードはサーバーレスを実装します
サーバーレス フレームワークを使用して、FaaS 環境を構築します。サーバーレス フレームワークは、Node.js で記述された CLI ツールです。開発者は、基盤となるリソースに注意を払うことなく、完全で利用可能なサーバーレス アプリケーション アーキテクチャをデプロイできます。
その後、開発者はビジネスに応じて関連する機能を記述し、クラウド コンピューティング プラットフォームにデプロイするだけで済みます。
すでにserverLessを使用しているプラットフォーム