Update to angular2-universal 0.103.0 and amend boot-server.ts to fix "there can only be one platform" issue

This commit is contained in:
SteveSandersonMS
2016-06-22 17:02:11 +01:00
parent ce6cdfd2bc
commit 8423233f44
2 changed files with 19 additions and 18 deletions

View File

@@ -1,32 +1,33 @@
import 'angular2-universal/polyfills'; import 'angular2-universal/polyfills';
import * as ngCore from '@angular/core'; import * as ngCore from '@angular/core';
import * as ngRouter from '@angular/router-deprecated';
import * as ngUniversal from 'angular2-universal'; import * as ngUniversal from 'angular2-universal';
import { BASE_URL, ORIGIN_URL, REQUEST_URL } from 'angular2-universal/common'; import { BASE_URL, ORIGIN_URL, REQUEST_URL } from 'angular2-universal/common';
import { App } from './components/app/app'; import { App } from './components/app/app';
const bootloader = ngUniversal.bootloader({
async: true,
preboot: false,
platformProviders: [
ngCore.provide(BASE_URL, { useValue: '/' })
]
});
export default function (params: any): Promise<{ html: string, globals?: any }> { export default function (params: any): Promise<{ html: string, globals?: any }> {
const serverBindings = [ const config: ngUniversal.AppConfig = {
ngCore.provide(BASE_URL, { useValue: '/' }), directives: [App],
ngCore.provide(ORIGIN_URL, { useValue: params.origin }), providers: [
ngCore.provide(REQUEST_URL, { useValue: params.url }), ngCore.provide(REQUEST_URL, { useValue: params.url }),
ngCore.provide(ORIGIN_URL, { useValue: params.origin }),
...ngUniversal.NODE_PLATFORM_PIPES, ...ngUniversal.NODE_PLATFORM_PIPES,
...ngUniversal.NODE_ROUTER_PROVIDERS, ...ngUniversal.NODE_ROUTER_PROVIDERS,
...ngUniversal.NODE_HTTP_PROVIDERS, ...ngUniversal.NODE_HTTP_PROVIDERS,
]; ],
let bootloader = ngUniversal.bootloader({
directives: [App],
componentProviders: serverBindings,
async: true,
preboot: false,
// TODO: Render just the <app> component instead of wrapping it inside an extra HTML document // TODO: Render just the <app> component instead of wrapping it inside an extra HTML document
// Waiting on https://github.com/angular/universal/issues/347 // Waiting on https://github.com/angular/universal/issues/347
template: '<!DOCTYPE html>\n<html><head></head><body><app></app></body></html>' template: '<!DOCTYPE html>\n<html><head></head><body><app></app></body></html>'
}); };
return bootloader.serializeApplication().then(html => { return bootloader.serializeApplication(config).then(html => {
bootloader.dispose();
return { html }; return { html };
}); });
} }

View File

@@ -27,7 +27,7 @@
"@angular/platform-server": "2.0.0-rc.1", "@angular/platform-server": "2.0.0-rc.1",
"@angular/router": "2.0.0-rc.1", "@angular/router": "2.0.0-rc.1",
"@angular/router-deprecated": "2.0.0-rc.1", "@angular/router-deprecated": "2.0.0-rc.1",
"angular2-universal": "0.100.3", "angular2-universal": "0.103.0",
"aspnet-prerendering": "^1.0.2", "aspnet-prerendering": "^1.0.2",
"aspnet-webpack": "^1.0.1", "aspnet-webpack": "^1.0.1",
"css": "^2.2.1", "css": "^2.2.1",