UNPKG

1.27 kBPlain TextView Raw
1import 'angular2-universal-polyfills';
2import 'angular2-universal-patch';
3import 'zone.js';
4import { createServerRenderer, RenderResult } from 'aspnet-prerendering';
5import { enableProdMode } from '@angular/core';
6import { platformNodeDynamic } from 'angular2-universal';
7import { AppModule } from './app/app.module';
8
9enableProdMode();
10const platform = platformNodeDynamic();
11
12export default createServerRenderer(params => {
13 return new Promise<RenderResult>((resolve, reject) => {
14 const requestZone = Zone.current.fork({
15 name: 'angular-universal request',
16 properties: {
17 baseUrl: '/',
18 requestUrl: params.url,
19 originUrl: params.origin,
20 preboot: false,
21 document: '<app></app>'
22 },
23 onHandleError: (parentZone, currentZone, targetZone, error) => {
24 // If any error occurs while rendering the module, reject the whole operation
25 reject(error);
26 return true;
27 }
28 });
29
30 return requestZone.run<Promise<string>>(() => platform.serializeModule(AppModule)).then(html => {
31 resolve({ html: html });
32 }, reject);
33 });
34});
35
\No newline at end of file