|
1 | 1 | import 'angular2-universal/polyfills'; |
2 | 2 | import * as ngCore from '@angular/core'; |
3 | | -import * as ngRouter from '@angular/router-deprecated'; |
4 | 3 | import * as ngUniversal from 'angular2-universal'; |
5 | 4 | import { BASE_URL, ORIGIN_URL, REQUEST_URL } from 'angular2-universal/common'; |
6 | 5 | import { App } from './components/app/app'; |
7 | 6 |
|
8 | | -export default function (params: any): Promise<{ html: string, globals?: any }> { |
9 | | - const serverBindings = [ |
10 | | - ngCore.provide(BASE_URL, { useValue: '/' }), |
11 | | - ngCore.provide(ORIGIN_URL, { useValue: params.origin }), |
12 | | - ngCore.provide(REQUEST_URL, { useValue: params.url }), |
13 | | - ...ngUniversal.NODE_PLATFORM_PIPES, |
14 | | - ...ngUniversal.NODE_ROUTER_PROVIDERS, |
15 | | - ...ngUniversal.NODE_HTTP_PROVIDERS, |
16 | | - ]; |
| 7 | +const bootloader = ngUniversal.bootloader({ |
| 8 | + async: true, |
| 9 | + preboot: false, |
| 10 | + platformProviders: [ |
| 11 | + ngCore.provide(BASE_URL, { useValue: '/' }) |
| 12 | + ] |
| 13 | +}); |
17 | 14 |
|
18 | | - let bootloader = ngUniversal.bootloader({ |
| 15 | +export default function (params: any): Promise<{ html: string, globals?: any }> { |
| 16 | + const config: ngUniversal.AppConfig = { |
19 | 17 | directives: [App], |
20 | | - componentProviders: serverBindings, |
21 | | - async: true, |
22 | | - preboot: false, |
| 18 | + providers: [ |
| 19 | + ngCore.provide(REQUEST_URL, { useValue: params.url }), |
| 20 | + ngCore.provide(ORIGIN_URL, { useValue: params.origin }), |
| 21 | + ...ngUniversal.NODE_PLATFORM_PIPES, |
| 22 | + ...ngUniversal.NODE_ROUTER_PROVIDERS, |
| 23 | + ...ngUniversal.NODE_HTTP_PROVIDERS, |
| 24 | + ], |
23 | 25 | // TODO: Render just the <app> component instead of wrapping it inside an extra HTML document |
24 | 26 | // Waiting on https://github.com/angular/universal/issues/347 |
25 | 27 | template: '<!DOCTYPE html>\n<html><head></head><body><app></app></body></html>' |
26 | | - }); |
| 28 | + }; |
27 | 29 |
|
28 | | - return bootloader.serializeApplication().then(html => { |
29 | | - bootloader.dispose(); |
| 30 | + return bootloader.serializeApplication(config).then(html => { |
30 | 31 | return { html }; |
31 | 32 | }); |
32 | 33 | } |
0 commit comments