W aplikacji Angular Cli możesz dodawać metadane do tras, np. tagi tytułu i opisu?
Oto moje trasy:
import { Route} from "@angular/router";
import { HomeComponent } from "./home.component";
export const HomeRoutes: Route[] = [
{
path: "",
component: HomeComponent
},
{
path: "home",
component: HomeComponent
}
];
Chcę dodać tytuł i opis do tych tras, aby były widoczne w przeglądarce, np. tytuł dla każdej trasy.
Ponadto chciałbym, aby były one odbierane przez boty np. boty seo google.
Używam kątowego cli z webpack, angular wersji 4 i maszynopisu.
Obecny błąd:
Odpowiedzi:
2 dla odpowiedzi № 1Istnieje moduł npm ng2-metadane [https://www.npmjs.com/package/ng2-metadata] będzie służyć potrzebie.
Przykładowy kod.
export const routes = [
{
path: "home",
component: HomeComponent,
data: {
metadata: {
title: "Sweet home",
description: "Home, home sweet home... and what?"
}
}
},
{
path: "duck",
component: DuckComponent,
data: {
metadata: {
title: "Rubber duckie",
description: "Have you seen my rubber duckie?"
}
}
},
{
path: "toothpaste",
component: ToothpasteComponent,
data: {
metadata: {
title: "Toothpaste",
override: true, // prevents appending/prepending the application name to the title attribute
description: "Eating toothpaste is considered to be too healthy!"
}
}
}
...
];
Dodaj to w app.module.ts
imports: [
...
RouterModule.forRoot(routes),
MetadataModule.forRoot()
],
I wstrzyknij go do konstruktora komponentów.
constructor(private metadataService: MetadataService) { }
0 dla odpowiedzi nr 2
Jako autor ng2-metadata
i @ngx-meta/core
projektów, proponuję zajrzeć do opisu pakietu (README plik), jak README pliki zawierają w większości przypadków aktualne informacje.
Jest ostrzeżenie o amortyzacji na strona npm z ng2-metadata
, mówiąc, że projekt jest przestarzały, nie jest już utrzymywany i obecnie trwa @ngx-meta/core
.
Jeśli zmienisz za pomocą @ngx-meta/core
, zauważysz, że bieżące problemy, które tutaj opisałeś, zostały już rozwiązane.
O @ngx-meta/core
: @ngx-meta/core
jest następcą ng2-metadata
, a rzeczywiste wydania to v0.4.x
i v0.2.x
.
Jeśli używasz
@angular v4.x.x
, użyj najnowszej wersjiv0.4.x
([master] oddział).
Najnowsza wersja dla Angular 4 to v0.4.0-rc.1
od teraz.
Jeśli używasz
@angular v2.x.x
, użyj najnowszej wersjiv0.2.x
(Oddział [v0.2.x]).
Najnowsza wersja Angular 2 to v0.2.0-rc.5
od teraz.