main.desktop.ts
import { UniversalModule, isBrowser, isNode, REQUEST_URL, ORIGIN_URL } from 'angular2-universal';
import { App } from './app/app';
@NgModule({
bootstrap: [ App ],
declarations: [
App
],
imports: [
routing,
// Univesal module
UniversalModule, // BrowserModule, HttpModule, and JsonpModule are included
],
providers: [
],
entryComponents: [
App
]
})
desktop.ts
// the polyfills must be the first thing imported
import 'angular2-universal-polyfills';
import 'ts-helpers';
import './__workaround.browser.ts';
// Angular 2
import { enableProdMode } from '@angular/core';
import { platformUniversalDynamic } from 'angular2-universal/browser';
import { bootloader } from '@angularclass/bootloader';
import { load as loadWebFont } from 'webfontloader';
// enable prod for faster renders
enableProdMode();
import { MainModule } from './main.desktop';
const platformRef = platformUniversalDynamic();
// on document ready bootstrap Angular 2
export function main() {
// Load fonts async
// https://github.com/typekit/webfontloader#configuration
loadWebFont({
google: {
families: ['Droid Sans']
}
});
return platformRef.bootstrapModule(MainModule);
}
// support async tag or hmr
bootloader(main);
我收到错误无法解决它..请帮助..... !!! 这与 angular2-universal 有什么关系?
注意:
1.如需其他任何说明,请告诉我我会提供。 2.我收到以下错误;
未处理的承诺拒绝:参数' url'必须是一个字符串,而不是 未定义;区域:;任务:Promise.then;值:TypeError: 参数' url'必须是一个字符串,而不是未定义(...)TypeError: 参数' url'必须是一个字符串,而不是未定义 在Url.parse(url.js:90:11) 在urlParse(url.js:84:5) at Object.urlResolve [as resolve](url.js:422:10)
当我评论 angular2-universal 时,我得到了;
未处理的承诺拒绝:没有ApplicationRef的提供商! ;区: ;任务:Promise.then;值:NoProviderError错误:否 ApplicationRef的提供者! at NoProviderError.Error(native) 在NoProviderError.BaseError [作为构造函数]
答案 0 :(得分:0)
我自己解决了这个问题,只是将import { UniversalModule, isBrowser, isNode, REQUEST_URL, ORIGIN_URL } from 'angular2-universal';
更改为import { UniversalModule, isBrowser, isNode } from 'angular2-universal/browser';
并在我的索引页面中添加了基本href <base href="./">