我正在使用通用客户端...
我的 app.node.module.ts 看起来像这样:
/**
* This file and `main.browser.ts` are identical, at the moment(!)
* By splitting these, you're able to create logic, imports, etc that are "Platform" specific.
* If you want your code to be completely Universal and don't need that
* You can also just have 1 file, that is imported into both
* client.ts and server.ts
*/
import {NgModule} from '@angular/core';
import {UniversalModule} from 'angular2-universal';
import {FormsModule} from '@angular/forms';
import {AppComponent} from './index';
import {AlertModule, CollapseModule, } from 'ng2-bootstrap';
import {LoginComponent} from './login/login.component';
import {RegisterComponent} from './register/register.component';
import {HomeComponent} from './home/home.component';
import {SharedComponent} from './shared/shared.component';
import {NavigationComponent} from './shared/navigation/navigation.component';
import {RouterModule} from '@angular/router';
import {appRoutes} from './app.routing';
/**
* Top-level NgModule "container"
*/
@NgModule({
/** Root App Component */
bootstrap: [AppComponent],
/** Our Components */
declarations: [AppComponent, LoginComponent, RegisterComponent, HomeComponent, SharedComponent, NavigationComponent],
imports: [
/**
* NOTE: Needs to be your first import (!)
* NodeModule, NodeHttpModule, NodeJsonpModule are included
*/
UniversalModule,
FormsModule,
/**
* using routes
*/
CollapseModule.forRoot(),
AlertModule.forRoot(),
RouterModule.forRoot(appRoutes)
]
})
export class AppModule {
}
app.routing.ts:
import {HomeComponent} from './home/home.component';
import {LoginComponent} from './login/login.component';
export const appRoutes: any = [
{path: '', component: HomeComponent, useAsDefault: true},
{path: 'login', component: LoginComponent}
]
这是来自控制台的日志:
未处理的 Promise 拒绝:模板解析错误:'router-outlet' 不是已知元素: 1. 如果 'router-outlet' 是 Angular 组件,则验证它是否是该模块的一部分。2. 如果 'router-outlet' 是 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的 '@NgModule.schemas' 以禁止显示此消息。("[ERROR ->]"): AppComponent@0:0 ; 区域:; 任务:Promise.then;值:错误:模板解析错误:'router-outlet' 不是已知元素: 1. 如果'router-outlet' 是 Angular 组件,则验证它是否是该模块的一部分。2. 如果 'router-outlet' 是 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的 '@NgModule.schemas' 以禁止显示此消息。(“[错误->]”):http://localhost:4200/vendor.bundle.js:12070:19 ) 在 RuntimeCompiler._compileTemplate ( http://localhost:4200/vendor.bundle.js:30623:51 ) 在http://localhost:4200/ 在 RuntimeCompiler._compileComponents ( http://localhost:4200/vendor.bundle.js:30543:19 ) 在 createResult ( http://localhost:4200/的 Set.forEach (native) 的vendor.bundle.js:30543:62 vendor.bundle.js:30439:19 ) 在 ZoneDelegate.invoke ( http://localhost:4200/vendor.bundle.js:61439:26 ) 在 Zone.run ( http://localhost:4200/vendor.bundle。 js:61321:43)在http://localhost:4200/vendor.bundle.js:61709:57 在 ZoneDelegate.invokeTask (http://localhost:4200/vendor.bundle.js:61472:35 ) 错误:模板解析错误:'router-outlet' 不是已知元素:1. 如果 'router-outlet' 是 Angular 组件,则验证它是这个模块的一部分。2. 如果 'router-outlet' 是 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的 '@NgModule.schemas' 以禁止显示此消息。("[ERROR ->]"): AppComponent@0:0 at TemplateParser.parse ( http://localhost:4200/vendor.bundle.js:12070:19 ) at RuntimeCompiler._compileTemplate ( http://localhost:4200 /vendor.bundle.js:30623:51 ) 在http://localhost:4200/vendor.bundle.js:30543:62 在 Set.forEach (native) 在 RuntimeCompiler._compileComponents (http://localhost: 4200/vendor.bundle.js:30543:19)在 ZoneDelegate.invoke (http://localhost: 4200/vendor.bundle.js:61439:26 ) 在 Zone.run ( http://localhost:4200/vendor.bundle.js:61321:43 ) 在http://localhost:4200/vendor.bundle.js: 61709:57 在 ZoneDelegate.invokeTask ( http://localhost:4200/vendor.bundle.js:61472:35 )
还有其他的想法不起作用:(点击)......有人知道可能是什么问题吗?