1- import { CookieStorage } from './../forStorage/browser.storage' ;
2- import { AppStorage } from './../forStorage/universal.inject' ;
3- import { BrowserTransferStateModule } from '@angular/platform-browser' ;
1+ // angular
42import { NgModule } from '@angular/core' ;
5- import { BrowserModule } from '@angular/platform-browser' ;
3+ import { BrowserModule , BrowserTransferStateModule , TransferState } from '@angular/platform-browser' ;
4+ import { HttpClient } from '@angular/common/http' ;
5+ // libs
6+ import { TransferHttpCacheModule } from '@nguniversal/common' ;
7+ import { REQUEST } from '@nguniversal/express-engine/tokens' ;
8+ import { TranslateLoader , TranslateModule } from '@ngx-translate/core' ;
9+ // shared
10+ import { CookieStorage } from '../forStorage/browser.storage' ;
11+ import { AppStorage } from '../forStorage/universal.inject' ;
12+ // components
13+ import { TranslateBrowserLoader } from './translate-browser-loader.service' ;
614import { AppComponent } from './app.component' ;
715import { AppModule } from './app.module' ;
8- import { REQUEST } from '@nguniversal/express-engine/tokens' ;
16+
917// import { ServiceWorkerModule } from '@angular/service-worker';
1018
19+ // the Request object only lives on the server
1120export function getRequest ( ) : any {
12- // the Request object only lives on the server
13- const result = { headers : { cookie : document . cookie } } ;
21+ return { headers : { cookie : document . cookie } } ;
22+ }
1423
15- return result ;
24+ export function exportTranslateStaticLoader ( http : HttpClient , transferState : TransferState ) : TranslateBrowserLoader {
25+ return new TranslateBrowserLoader ( '/assets/i18n/' , '.json' , transferState , http ) ;
1626}
1727
1828@NgModule ( {
19- bootstrap : [ AppComponent ] ,
29+ bootstrap : [ AppComponent ] ,
2030 imports : [
21- BrowserModule . withServerTransition ( {
22- appId : 'my-app'
23- } ) ,
31+ BrowserModule . withServerTransition ( { appId : 'my-app' } ) ,
32+ TransferHttpCacheModule ,
2433 BrowserTransferStateModule ,
34+ TranslateModule . forRoot ( {
35+ loader : {
36+ provide : TranslateLoader ,
37+ useFactory : exportTranslateStaticLoader ,
38+ deps : [ HttpClient , TransferState ]
39+ }
40+ }
41+ ) ,
2542 // ServiceWorkerModule.register('/ngsw-worker.js'),
2643 AppModule ,
2744 ] ,
2845 providers : [
29- {
30- // The server provides these in main.server
31- provide : REQUEST ,
32- useFactory : ( getRequest )
46+ {
47+ // The server provides these in main.server
48+ provide : REQUEST ,
49+ useFactory : ( getRequest )
3350 } ,
3451 { provide : AppStorage , useClass : CookieStorage } ,
3552 {
@@ -38,4 +55,5 @@ export function getRequest(): any {
3855 }
3956 ]
4057} )
41- export class BrowserAppModule { }
58+ export class AppBrowserModule {
59+ }
0 commit comments