システムは分散方式で展開され、複数のドメイン名があるため、URL の取得の問題が頻繁に発生します。これはシステム フレームワーク レベルで提供する必要がある機能です。そうしないと、各モジュールが IP を取得する独自の方法を見つける必要があり、オンラインになると非常に混乱し、バグが発生しやすくなります
いくつかの主な問題があります。解決する必要がある問題:
1. 開発環境と本番環境を自動的に区別する機能。たとえば、オンラインで展開する場合、URL は http://www.xxx.com/svc/hello になりますが、ローカルで開発する場合は http://127.0.0.1/svc/hello にする必要があります。完全に書き込むことはできません。そうしないと、開発と展開を行ったり来たりする必要があり、非常に面倒です
2. さまざまなサービスに応じて URL を区別できる。たとえば、確認コード サービスを取得するには、http://www.xxx.com/svc/getCode を呼び出す必要があります。また、WeChat 関連のサービスの場合は、http://wx.xxx.com/svc/xxx を呼び出す必要があります。
この記事の概要を共有しましょう アイデア:
構成ファイル
1. アプリケーションには、開発モードで開始するか運用モードで開始するかを説明する、対応する構成ファイルがあります。そして、認証関連の URL、WeChat 関連の URL、共通サービス関連の URL などの URL を分離します。
2 同時に、topo-dev.json、topo- などの複数の設定ファイルがあります。 Production.json、topo -image.json などこれにより、異なる環境が分離されます。開発モードで起動すると、topo-dev.json がロードされ、設定された URL はすべて 127.0.0.1 のようになります
3. 起動時に、この設定ファイルをロードし、キー情報を配置します。 global._g_env グローバル変数を使用すると、実行時に環境と URL 情報を簡単に取得できますサーバーは URL を取得します
サーバー コードはノード環境でも実行されるため、URL を取得するのは非常に簡単です。 _g_env.url、構成ファイル内のパスを取得できます
フロントエンド ページは URL を取得します
フロントエンド ページは、多くの場合、Ajax リクエストを送信する必要があるため、URL も知る必要があります。ただし、静的 js にはサーバーの環境情報と URL を取得する方法がないため、この情報をサーバーから取得する必要があります。
まず、サーバーにはこの情報を具体的に配信するサービスがあります。
function clientSettingScript(req, res, next){ var script = "window.global = {_g_server:{}}; \n"+ ";global[\"_g_server\"].staticurl=\"" +global["_g_topo"].clientAccess.staticurl + "\"\n"+ ";global[\"_g_server\"].uploadurl=\"" +global["_g_topo"].clientAccess.uploadurl + "\"\n"+ ";global[\"_g_server\"].authurl=\"" +global["_g_topo"].clientAccess.authurl + "\"\n"+ ";global[\"_g_server\"].serviceurl=\"" +global["_g_topo"].clientAccess.serviceurl + "\"\n"+ ";global[\"_g_server\"].wxserviceurl=\"" +global["_g_topo"].clientAccess.wxserviceurl + "\"\n"+ ";global[\"_g_server\"].nail_pc_url=\"" +global["_g_topo"].connector.nail_pc_url + "\"\n"+ ";global[\"_g_env\"] =\"" +global["_g_topo"].env+ "\";\n"; res.end(script);}
これは普通の特急サービスですが、実際には JS スクリプトです。フロントエンドページでは、script タグを使用してロードします
<script src="/svc/portal/setting"></script>
このようにして、ブラウザは応答を受け取ると、それを js スクリプトとして実行し、グローバル変数 global をウィンドウには、環境情報と URL 情報が含まれています
同時に、URL にはドメイン名のみが含まれており、ページは次のような実際の状況に応じて完全な URL を組み立てます。
このアプローチの鍵は次のとおりです:
1. URL と環境情報は、コード内にハードコーディングされるのではなく、別の構成ファイルに配置されます。同時に、開発環境、本番環境、ミラー環境に応じて異なる設定ファイルを分離します
2. これらの設定情報をクライアント ページに提供するサービスを特にサーバー側で作成します。死刑に処せられる

Theroottaginanhtmldocumentis.itservesStop-levellementThateChationCothercontent、ProperDocumentsTurcuteRuctureAndBrowsingを保証します。

この記事では、HTMLタグは要素を定義するために使用される構文マーカーであり、要素はタグやコンテンツを含む完全なユニットであると説明しています。彼らは協力してWebPages.Characterカウントを構築するために協力します:159

この記事では、&lt; head&gt;の役割について説明します。および&lt; body&gt; HTMLのタグ、ユーザーエクスペリエンスへの影響、およびSEOの影響。適切な構造化により、ウェブサイトの機能と検索エンジンの最適化が強化されます。

この記事では、HTMLタグの違いについて説明します。、、、、、、、およびプレゼンテーションの使用とSEOとアクセシビリティへの影響に焦点を当てています。

記事では、UTF-8に焦点を当てたHTMLでのキャラクターエンコーディングの指定について説明します。主な問題:テキストの正しい表示を確保し、文字化けされたキャラクターの防止、SEOとアクセシビリティの強化。

この記事では、Webコンテンツの構築とスタイリングに使用されるさまざまなHTMLフォーマットタグについて説明し、テキストの外観に対する影響とアクセシビリティとSEOのセマンティックタグの重要性を強調しています。

この記事では、HTMLの「ID」属性と「クラス」属性の違いについて説明し、一意性、目的、CSS構文、および特異性に焦点を当てています。それらがWebページのスタイリングと機能にどのように影響するかを説明し、のベストプラクティスを提供する

この記事では、スタイリングとJavaScriptの操作の要素をグループ化するHTML「クラス」属性の役割を説明し、一意の「ID」属性とは対照的です。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

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

ホットトピック









