クイックバージョンのhrefベースを使用して - 私は私を信じて、何がしたい: はどのように私は<base href>
要求URLの問題
長いバージョンを無視するようにangular2 http
サービスを構成することができます - より良いアプローチがある場合には: で私のプロジェクト私たちは、Apacheを使用して2つの角度アプリを提供している:彼らの両方が同じエンドポイントを使用し
http://host/index.html - angular 1
http://host/ng2/index.html - angular 2
を
http://host/api/foo
両方のアプリが同じ仮想ホストを使用しています。角2アプリはディスク上のpublic/ng2の下にあります。
問題はこれに沸く:
私が使用している場合:<base href="/ng2/">
角度アプリをロード罰金。 しかし、httpサービスを使用しているapiへのリクエストはすべて汚染されます。
http.get('/api/foo/2') goes to http://host/ng2/api/foo
私の現在のソリューションは、<base href="/">
にベースHREFを設定し、直接/公共の下にindex.htmlが以外のすべてのangular2ファイルを置くことです。 (index.htmlはまだ/ public/ng2にあります)これは動作しますが、混乱しています。
は、私が持っていると思い何を:
- すべてangular2ファイルは、/公共/ NG2である
- 発信要求がNG2に添付されていない(なぜなら
<base href="/ng2/">
または他のApache設定の作品)それら。- 例えばhttp.get( '/ API/fooの/ 2')=>http://host/api/foo
終わりでURL
: 'http.get(api_root + '/ fooの/ 2')' –
感謝@KiJéy 。私が言いたいことは、複数のインスタンスが導入されていることでした。それぞれは独自の/ api/foo/2を持っています。例えば。 (http:// customer1-host/api/fooおよびhttp:// customer2-host/api/foo)。だから、相対的な道がはるかに良いでしょう。 – alfthan
相対パスがより良いと思われる理由を説明できますか?私は@ KiJyyに同意し、URLを環境ファイルに絶対パスを入れて置く。 – shusson