まず最初に、Angular が URL ルーティングの照合に使用するパターンを調整します。関数が見つかり、angular.js (バージョンhttp://code.angularjs.org/1.1.5/ )の 5612 行にあるこれらの正規表現に対して URL の場所を実行しています。
SERVER_MATCH = /^([^:]+):\/\/(\w+:{0,1}\w*@)?(\{?[\w\.-]*\}?)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,
PATH_MATCH = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/,
DEFAULT_PORTS = {'http': 80, 'https': 443, 'ftp': 21};
では、なぜ私はそれをしたいのでしょうか? デスクトップ AIR アプリケーションのフレームワークとして angular を使用しています。AIR アプリケーションは、HTML/JS を使用して構築できます。HTML/JS はその後、ファイルシステムと OS へのアクセスを提供する AIR にラップされます。したがって、この組み合わせにより、基本的に、Angular を使用してマルチプラットフォームのデスクトップ Web アプリケーションを構築できます。強力なもの。
app:/
AIR には、ではなくのように見えるカスタム アドレス バー文字列があるという問題がありますhttp://
。したがって、スラッシュは 2 つではなく 1 つです。Angular は、アドレス バーの場所を使用してアプリケーションをルーティングします。つまり、ビューとそれに関連付けられたコントローラーをhttp://something.com/#/contactList
ロードします。contactList
正規表現に関する私の知識はかなり (非常に) 限られているため、上記のパターンを読み取ることはできませんが、スラッシュが 2 つではなく 1 つまたはそれに類似したものが問題になる可能性があると推測しています。
私の目的はパターンを調整しapp:/
て有効なパターンにすることであり、URI セグメントの作成と関連するアクションが引き続き機能することを願っています。