バックエンドは独学なのでフロントエンドのことはよくわかりませんが、spaはWebサイトにアクセスすると一度Webサイトに戻って、フロントエンドのルーティング経由で表示を切り替えるのでしょうか?では、サーバーはデータを ajax に返すことだけを担当しますか?
天蓬老师2017-05-16 13:37:49
フロントエンドのindex.htmlページへのURLリンクを提供するだけで済み、その後インターフェースAPIを記述し、残りはフロントエンドに任せます。
迷茫2017-05-16 13:37:49
はい、正しく理解しています
エントリ ファイルは 1 つだけあり、ルーティングに依存してコンポーネントを切り替え、バックグラウンドで API を提供します
伊谢尔伦2017-05-16 13:37:49
1. ワンタイムリターンかどうかは、コードの非同期ロードと共通部分の抽出を行ったかどうかによって異なります。
2. フロントエンドとバックエンドのルーティングによってスパページが切り替えられます。完全に分離されており、コードは結合されておらず、サーバーのデータ サービスのみが提供されます。フロントエンドは、ajax を介してサーバー インターフェイスを呼び出し、データを取得した後にページを更新します。
phpcn_u15822017-05-16 13:37:49
従来: フロントエンドは複数のページで構成され、バックエンドはデータの整理、ルーティングの実装、さらにはページ コンテンツの生成を担当します。
現在:フロントエンドは 1 つのページまたは少数のページ (シングル ページ アプリケーション) で構成されます。フロントエンド フレームワークはルーティングとページ コンテンツの切り替え (通常はページをコンポーネントに分割する) を組織し、バックエンドはAPI サービスの提供とデータの送受信のみを担当します
このように、フロントエンドとバックエンドは基本的に分離され、分離されます。
我想大声告诉你2017-05-16 13:37:49
バックエンドは、フロントエンドが必要とするデータを提供することのみを担当します。ページ間のジャンプやユーザーインタラクションなどの他のロジックの実装は、フロントエンドによって完了されます。
スパの単一ページには、プロジェクト全体への入り口として 1 つのindex.html ページのみが必要で、その後、必要な js ファイルがオンデマンドでロードされ、特定のページ コンテンツが動的に生成され、js によってレンダリングされます。 。場合によっては、ページ変更は再リクエストや更新ではなく、イベント駆動型であり、対応するメソッドを実行して現在のページを再レンダリングすることがあります。
大家讲道理2017-05-16 13:37:49
すべては ajax の部分更新から始まります。
従来の Web では、ブラウザは URL を入力してページを返します。
後で、これはリソースの無駄が多すぎることがわかりました。たとえば、「いいね!」をクリックすると、データベースとページの「いいね!」の数が +1 されるため、ページを更新しましょう。 「部分更新」
その後、賢い開発者は、ハッシュ パス セグメント (#header のような形) はサーバーにリクエストを送信しないと考え、アンカーをクリックしたときに小さなページをロードし、部分的に更新し、ブラウザーの操作を追加できるようにしました。ロールバックなどの機能を実装するための履歴を参照し、フロントエンド ルーティングを作成するだけです。
実際、フロントエンド ルーティングは本質的には部分的なリフレッシュですが、より標準化されたもので、ビューとデータを含む完全なコンポーネントが返されます。1 つはバックエンド データです。フロントエンドは当面データベースデータとなり、もう一つはビューの管理を改善するためにフロントエンドで生成されたデータであり、一時的にビューデータになります
それについて話した後、SPAとは何なのかを分析することができます。
SPAはシングルページアプリケーションの略で、中国語ではシングルページアプリケーションと呼ばれます。このページは通常、プロジェクトのエントリファイルであるindex.htmlだけです。プロジェクトの開始から終了まで、ブラウザーは常にこのページにすべてがあり、表示される変更はコンポーネントの作成と削除だけです。たとえば、このページにブートストラップを導入すると (良いアイデアではありません)、すべてが変更されます。コンポーネントはブートストラップの影響を受けます。
...長すぎるので、これ以上は書けません。答えとしては、いつか記事にします。 簡単に言うと、フロントエンドはビューを提供し、バックエンドは JSON データを提供します。バックエンド データはフロントエンド ページをレンダリングするために使用されます。