Wszystko działa poprawnie, gdy buduję linki i poruszam się w aplikacji, ale wpisywanie w pasku adresu nie działa! Ostatecznie chcę móc wysłać link do konkretnej strony/ścieżki aplikacji pocztą elektroniczną i nie jestem pewien, jak to osiągnąć.Angline 2.0 deep-linking nie działa. To samo z paska adresu.
Podążyłem za angular router guide documentation. Poprawnie myślę ...
Używam NodeJS (z ekspresowym) i na serwerze przekierowałem cały ruch do katalogu głównego aplikacji.
app.get("*", function(req, res) {
console.error("in get *")
res.redirect("/");
});
W moim index.html Mam ustawiony bazowej
<base href="/">
mam moje szlaki klienta/ścieżki ustawione następująco
const appRoutes: Routes = [
{ path: 'vendor/registration', component: VendorRegistrationComponent },
{ path: 'vendors', component: VendorListComponent },
{ path: '', redirectTo: 'vendor/registration', pathMatch: 'full' },
{ path: '**', component: PageNotFoundComponent }
];
Gdybym wpisać http://localhost:8080/vendors
w pasku adresu przeglądarki I dostać się do http://localhost:8080/vendor/registration
, co ma sens, ponieważ tam serwer wysyła do przeglądarki polecenie przekierowania.
Jak powinienem utworzyć precyzyjny link do mojej aplikacji?
Edytuj. Samouczek kątowy - "TOUR OF HEROES" - również wykazuje takie samo zachowanie. tzn. bezpośrednie wprowadzanie adresów URL w pasku adresu przeglądarki nie działa. Aplikacja pokazuje tekst "ładowanie ..." i nie kieruje się do kontrolera.
Co masz na myśli przez głębokie powiązanie? Czego się spodziewałeś? – echonax
Chcę mieć możliwość wysyłania użytkownikom linków e-mail, takich jak http://www.example.com/vendors, i do wyświetlania odpowiedniego widoku/kontrolera (zamiast elementu głównego). – nsof
Jaki jest twój kod dla ' app.get ('/', function (req, res) {/ * what here * /}) ' – idbehold