我要开发一个简单的角度2应用程序。我使用Angular CLI创建了一个包含路由的项目,并使用'ng generate component'命令将多个组件添加到应用程序中。然后,我指定的APP-routing.module.ts如下路由。角2路由不工作在部署到HTTP服务器
import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { HomeComponent } from './home/home.component'; import { AboutComponent } from './about/about.component'; import { UserComponent } from './user/user.component'; import { ErrorComponent } from './error/error.component'; import { SpecialpageComponent } from './specialpage/specialpage.component'; const routes: Routes = [ { path: '', component: HomeComponent }, { path: 'about', component: AboutComponent }, { path: 'user', component: UserComponent }, { path: 'specialpage', component: SpecialpageComponent }, { path: '**', component: ErrorComponent } ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule], providers: [] }) export class AppRoutingModule { }
app.module.ts是如下。
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { HomeComponent } from './home/home.component'; import { AboutComponent } from './about/about.component'; import { ErrorComponent } from './error/error.component'; import { UserComponent } from './user/user.component'; import { SpecialpageComponent } from './specialpage/specialpage.component'; @NgModule({ declarations: [ AppComponent, HomeComponent, AboutComponent, ErrorComponent, UserComponent, SpecialpageComponent ], imports: [ BrowserModule, FormsModule, HttpModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
我还没有为其他组件添加任何修改。 然后我用“吴服”命令和应用程序正常工作与链接部署的应用程序。 如:http://localhost:4200/about
但是当我部署的HTTP服务器的项目,该链接不正常工作。我使用'http-server ./dist'命令部署应用程序,应用程序部署正常,但链接不起作用。当我去'http://localhost:4200/about',它会给出404错误。
上午我做错了什么?为什么'ng-serve'的作品和'http-server'不起作用?
任何帮助,将不胜感激。提前致谢。
我已经上传我的项目github。
尝试'进口:[RouterModule.forRoot(routes,{useHash:true})],'。如果以这种方式工作,则需要在生产服务器上启用HTML5 pushState。 –
@GünterZöchbauer,我试过了,但是没有运气 –
也试着给这条路线加上'pathMatch:'full'''',',' –