1- import { UniversalStorage } from './../forStorage/server.storage' ;
2- import { AppStorage } from './../forStorage/universal.inject' ;
3- import { NoopAnimationsModule } from '@angular/platform-browser/animations' ;
1+ // angular
42import { NgModule } from '@angular/core' ;
5- import { ServerModule } from '@angular/platform-server' ;
6- import { AppComponent } from './app.component' ;
7- import { AppModule } from './app.module' ;
3+ import { ServerModule , ServerTransferStateModule } from '@angular/platform-server' ;
4+ import { NoopAnimationsModule } from '@angular/platform-browser/animations' ;
5+ // libs
6+ import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader' ;
87import 'rxjs/add/operator/filter' ;
98import 'rxjs/add/operator/first' ;
10- import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader' ;
11- import { ServerTransferStateModule } from '@angular/platform-server' ;
12- import { TranslateLoader , TranslateModule } from '@ngx-translate/core' ;
13- import { Observable } from 'rxjs/Observable' ;
14-
15- const fs = require ( 'fs' ) ;
16-
17- export class TranslateUniversalLoader implements TranslateLoader {
18- constructor ( private prefix : string = 'i18n' , private suffix : string = '.json' ) {
19- }
20-
21- public getTranslation ( lang : string ) : Observable < any > {
22- return Observable . create ( observer => {
23- observer . next ( JSON . parse ( fs . readFileSync ( `${ this . prefix } /${ lang } ${ this . suffix } ` , 'utf8' ) ) ) ;
24- observer . complete ( ) ;
25- } ) ;
26- }
27- }
28-
29- export function translateFactory ( ) {
30- return new TranslateUniversalLoader ( './dist/assets/i18n' , '.json' ) ;
31- }
9+ // shared
10+ import { UniversalStorage } from '../forStorage/server.storage' ;
11+ import { AppStorage } from '../forStorage/universal.inject' ;
12+ import { TranslatesServerModule } from '@shared/translates/translates-server' ;
13+ // components
14+ import { AppComponent } from './app.component' ;
15+ import { AppModule } from './app.module' ;
3216
3317@NgModule ( {
3418 imports : [
@@ -37,12 +21,7 @@ export function translateFactory() {
3721 ServerTransferStateModule ,
3822 ServerModule ,
3923 ModuleMapLoaderModule ,
40- TranslateModule . forRoot ( {
41- loader : {
42- provide : TranslateLoader ,
43- useFactory : translateFactory
44- }
45- } ) ,
24+ TranslatesServerModule
4625 ] ,
4726 bootstrap : [ AppComponent ] ,
4827 providers : [
@@ -51,4 +30,5 @@ export function translateFactory() {
5130 }
5231 ] ,
5332} )
54- export class AppServerModule { }
33+ export class AppServerModule {
34+ }
0 commit comments