アプリでリンクを構築してナビゲートするとすべて動作しますが、アドレスバーに入力すると問題はありません。 最終的には、特定のアプリケーションページ/パスへのリンクを電子メールで送信できるようにしたいと思います。その達成方法がわかりません。角度2.0ディープリンクは機能しません。アドレスバーと同じ
私はangular router guide documentationに従っています。正しく考えて...
私はNodeJS(express付き)を使用しており、サーバーにはすべてのトラフィックがアプリケーションルートにリダイレクトされています。私のindex.htmlを私が設定したベース私は、ブラウザのアドレスバーIにhttp://localhost:8080/vendors
を入力した場合
const appRoutes: Routes = [
{ path: 'vendor/registration', component: VendorRegistrationComponent },
{ path: 'vendors', component: VendorListComponent },
{ path: '', redirectTo: 'vendor/registration', pathMatch: 'full' },
{ path: '**', component: PageNotFoundComponent }
];
を次のように私のクライアント敗走/パスが設定されている
<base href="/">
で
app.get("*", function(req, res) {
console.error("in get *")
res.redirect("/");
});
http://localhost:8080/vendor/registration
にアクセスしてください。これはサーバーがブラウザにリダイレクトするように指示するので意味があります。
どうすれば私のアプリに深くリンクする必要がありますか?
編集。 角度チュートリアル - "TOUR OF HEROES" - 同じ動作を示します。すなわち、ブラウザのアドレスバーにURLを入力することは直接動作しない。アプリケーションは「読み込み中...」というテキストを表示し、コントローラにルーティングしません。
に記述されたあなたの質問で回答?あなたは何を得ることを期待しましたか? – echonax
私が望むのは、http://www.example.com/vendorsのような電子メールリンクをユーザーに送信し、正しいビュー/コントローラ(ルート要素ではなく)を表示できるようにすることです。 – nsof
あなたのコードは ' ' – idbehold