我正在使用角度4.当我使用“ng serve”运行时,我的角度应用程序工作正常。那就是它以context-root运行为“/".
我的应用需要使用java webapp进行编译,并作为war文件的一部分部署到servlet-container。这个应用程序在context-root'cmcwebapp'下运行。
我的index.html有元素
<base href="/">
在“head”元素下面。当我编译角度应用程序时,我使用命令
ng build --base-href cmcwebapp
一旦编译完成,我就会复制dist文件夹的内容并将其粘贴到java webapp中并创建一个war文件。
当我在浏览器上运行“http://localhost:8080/cmcwebapp”时。所有的JavaScript,CSS和图像加载正常。网址更改为“http://localhost:8080/cmcwebapp/cmcwebapp/”,我收到此消息“错误:无法匹配任何路由。网址细分:'cmcwebapp'”。
我将此作为app.module.ts中的路线定义
const appRoutes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: 'distribute', component: DistributeComponent },
{ path: 'consume', component: ConsumeComponent },
{ path: '', redirectTo: 'home', pathMatch: 'full'}
];
@NgModule({
declarations: [
AppComponent,
HomeComponent,
DistributeComponent,
ConsumeComponent
],
imports: [
BrowserModule,
HttpModule,
RouterModule.forRoot(appRoutes),
WjGridModule
],
providers: [EppmService],
bootstrap: [AppComponent]
})
export class AppModule { }
这是我的app.component.html
<div class="menu">
<nav class="navbar navbar-inverse" style="overflow:hidden">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li routerLinkActive="active"><a routerLink="home">home</a></li>
<li routerLinkActive="active"><a routerLink="distribute">Distribute</a></li>
<li routerLinkActive="active"><a routerLink="consume">Consume</a></li>
</ul>
<div class="submission">
<button type="button" class="btn btn-primary">Submit</button>
</div>
</div>
</nav>
</div>
<div class="container-fluid">
<router-outlet></router-outlet>
</div>
我无法弄清楚我哪里出错了