Skip to content

Commit 7f19736

Browse files
committed
add meta
1 parent 33823fd commit 7f19736

File tree

5 files changed

+62
-4
lines changed

5 files changed

+62
-4
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@
2929
"@angular/core": "5.1.0",
3030
"@angular/forms": "5.1.0",
3131
"@angular/http": "5.1.0",
32-
"@angular/service-worker": "5.1.0",
3332
"@angular/platform-browser": "5.1.0",
3433
"@angular/platform-browser-dynamic": "5.1.0",
3534
"@angular/router": "5.1.0",
35+
"@angular/service-worker": "5.1.0",
3636
"@ngtools/webpack": "1.9.0",
3737
"@nguniversal/common": "5.0.0-beta.5",
3838
"@nguniversal/express-engine": "5.0.0-beta.5",
3939
"@nguniversal/module-map-ngfactory-loader": "5.0.0-beta.5",
40+
"@ngx-meta/core": "4.0.1",
4041
"@types/node": "8.0.58",
4142
"cookie-parser": "1.4.3",
4243
"core-js": "2.5.3",

src/app/app.component.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Component } from '@angular/core';
2+
import { MetaService } from '@ngx-meta/core';
23

34
@Component({
45
selector: 'app-root',
@@ -8,4 +9,7 @@ import { Component } from '@angular/core';
89
export class AppComponent {
910
title = 'app';
1011

12+
constructor(private readonly meta: MetaService) {
13+
this.meta.setTag('og:title', 'home ctor');
14+
}
1115
}

src/app/app.module.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,29 @@ import { NgModule } from '@angular/core';
88
import { AppComponent } from './app.component';
99
import { CookieService } from 'ngx-cookie-service';
1010
import { HttpClientModule } from '@angular/common/http';
11+
import { MetaModule, MetaSettings } from '@ngx-meta/core';
12+
import { MetaLoader } from '@ngx-meta/core';
13+
import { MetaStaticLoader } from '@ngx-meta/core';
14+
import { PageTitlePositioning } from '@ngx-meta/core';
15+
16+
export function metaFactory(): MetaLoader {
17+
const setting: MetaSettings = {
18+
callback: (key: string) => key,
19+
pageTitlePositioning: PageTitlePositioning.PrependPageTitle,
20+
pageTitleSeparator: ' | ',
21+
applicationName: 'App Universal',
22+
// applicationUrl: 'https://gorniv.com/',
23+
defaults: {
24+
title: 'default page title',
25+
description: 'default description',
26+
'og:site_name': 'App site Universal',
27+
'og:type': 'website',
28+
'og:locale': 'ru_RU',
29+
'og:locale:alternate': 'en_GB'
30+
}
31+
};
32+
return new MetaStaticLoader(setting);
33+
}
1134

1235
@NgModule({
1336
declarations: [
@@ -19,7 +42,12 @@ import { HttpClientModule } from '@angular/common/http';
1942
RouterModule,
2043
AppRoutes,
2144
TransferHttpModule,
22-
BrowserAnimationsModule
45+
BrowserAnimationsModule,
46+
MetaModule.forRoot({
47+
provide: MetaLoader,
48+
useFactory: metaFactory,
49+
deps: []
50+
})
2351
],
2452
providers: [CookieService],
2553
bootstrap: [AppComponent]

src/app/app.routing.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
import { Routes, RouterModule } from '@angular/router';
2+
import { MetaGuard } from '@ngx-meta/core';
23

34
const routes: Routes = [
4-
{ path: '', loadChildren: './home/home.module#HomeModule', pathMatch: 'full' },
5+
{
6+
path: '', loadChildren: './home/home.module#HomeModule', pathMatch: 'full',
7+
data: {
8+
// for override default meta
9+
meta: {
10+
title: 'home title',
11+
override: true,
12+
description: 'home description'
13+
}
14+
},
15+
// need for default meta
16+
canActivateChild: [MetaGuard],
17+
},
18+
// without meta
519
{ path: 'mock', loadChildren: './mock-server-browser/mock-server-browser.module#MockServerBrowserModule' },
6-
{ path: 'back', loadChildren: './transfer-back/transfer-back.module#TransferBackModule' },
20+
// with meta
21+
{ path: 'back', loadChildren: './transfer-back/transfer-back.module#TransferBackModule', canActivateChild: [MetaGuard]},
722
];
823
// must use {initialNavigation: 'enabled'}) - for one load page, without reload
924
export const AppRoutes = RouterModule.forRoot(routes, { initialNavigation: 'enabled' });

yarn.lock

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,12 @@
200200
version "5.0.0-beta.5"
201201
resolved "https://registry.yarnpkg.com/@nguniversal/module-map-ngfactory-loader/-/module-map-ngfactory-loader-5.0.0-beta.5.tgz#d86497e704f702e1a18bbcab5dd6586057941fa5"
202202

203+
"@ngx-meta/core@^4.0.1":
204+
version "4.0.1"
205+
resolved "https://registry.yarnpkg.com/@ngx-meta/core/-/core-4.0.1.tgz#b035febeeb92876920480f70719fcf953dc0245f"
206+
dependencies:
207+
tslib "~1.7.1"
208+
203209
"@schematics/angular@~0.1.10":
204210
version "0.1.10"
205211
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.1.10.tgz#654d867992277484ed2d82d015b2d3b6ff87b93d"
@@ -5666,6 +5672,10 @@ tslib@^1.7.1:
56665672
version "1.8.1"
56675673
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac"
56685674

5675+
tslib@~1.7.1:
5676+
version "1.7.1"
5677+
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec"
5678+
56695679
56705680
version "5.8.0"
56715681
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.8.0.tgz#1f49ad5b2e77c76c3af4ddcae552ae4e3612eb13"

0 commit comments

Comments
 (0)