Javascript 角度2-无法匹配任何路线';auth';

Javascript 角度2-无法匹配任何路线';auth';,javascript,angularjs,angular,angular2-routing,Javascript,Angularjs,Angular,Angular2 Routing,我知道以前有人问过这个问题,但我没有找到适合我的情况的解决办法 当导航到localhost:8000/auth时,我收到此错误消息。指定的其他路线可以正常工作 错误:未捕获(承诺中):错误:无法匹配任何路由。URL段:“auth” 错误:无法匹配任何路由。URL段:“auth” 这是我的app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platf

我知道以前有人问过这个问题,但我没有找到适合我的情况的解决办法

当导航到localhost:8000/auth时,我收到此错误消息。指定的其他路线可以正常工作

错误:未捕获(承诺中):错误:无法匹配任何路由。URL段:“auth”
错误:无法匹配任何路由。URL段:“auth”

这是我的app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule }   from '@angular/forms';
import { HttpModule }    from '@angular/http';
import { Routes, RouterModule } from '@angular/router';
import { Angular2TokenService } from 'angular2-token';

import { AppComponent }  from './app.component';
import { RecipeComponent }  from './recipes/recipes.component';
import { RecipeDetailComponent } from './recipes/recipe-detail/recipe-detail.component';
import { RecipeService } from './recipes/recipe.service';
import { IngredientComponent } from './ingredients/ingredients.component';
import { IngredientService } from './ingredients/ingredient.service';
import { IngredientFormComponent } from './ingredients/ingredient-form.component';
import { AuthComponent } from './auth/auth.component';

@NgModule({
  imports: [ 
    BrowserModule, 
    FormsModule,
    HttpModule,
    RouterModule.forRoot([
      {
        path: '',
        component: RecipeComponent
      },
      {
        path: 'auth',
        component: AuthComponent
      },
      {
        path: 'recipes',
        component: RecipeComponent
      },
      {
        path: 'recipe/:id',
        component: RecipeDetailComponent
      }
    ])
  ],
  declarations: [ 
    AppComponent,
    RecipeComponent,
    RecipeDetailComponent,
    IngredientComponent,
    IngredientFormComponent,
    AuthComponent 
  ],
  providers: [
    RecipeService,
    IngredientService,
    Angular2TokenService
  ],
  bootstrap:    [ AppComponent ]
})
export class AppModule {
  constructor(private _tokenService: Angular2TokenService) {
    this._tokenService.init();
  }
}
app/auth/auth.component.ts(当前为空,正在尝试加载模板)

package.json

{
  "name": "geekbread_js",
  "version": "1.0.0",
  "scripts": {
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
    "lite": "lite-server",
    "postinstall": "typings install",
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "typings": "typings"
  },
  "license": "ISC",
  "dependencies": {
    "@angular/common": "2.1.2",
    "@angular/compiler": "2.1.2",
    "@angular/core": "2.1.2",
    "@angular/forms": "2.1.2",
    "@angular/http": "2.1.2",
    "@angular/platform-browser": "2.1.2",
    "@angular/platform-browser-dynamic": "2.1.2",
    "@angular/router": "3.1.2",
    "@angular/router-deprecated": "2.0.0-rc.2",
    "@angular/upgrade": "2.1.2",
    "angular2-in-memory-web-api": "0.0.21",
    "angular2-token": "^0.1.17",
    "bootstrap": "^3.3.6",
    "core-js": "^2.4.0",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.12",
    "systemjs": "0.19.40",
    "zone.js": "^0.6.12"
  },
  "devDependencies": {
    "concurrently": "^3.1.0",
    "lite-server": "^2.2.0",
    "typescript": "^2.0.6",
    "typings": "^1.0.4"
  }
}
app.component.html

<nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" routerLink="/recipes">Geekbread</a>
    </div>
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a routerLink="/recipes">My Recipes</a></li>
        <li><a routerLink="/auth">Sign in</a></li>
      </ul>
    </div>
  </div>
</nav>
<router-outlet></router-outlet>
使用
npm start运行服务器


app/中的所有内容都编译为buildjs/,但不是main.js

路径匹配:“full”
添加到路径为空且无子路径的路由:

 {
    path: '',
    component: RecipeComponent,
    pathMatch: 'full'
  },

如何重定向到
auth
?您的设置是什么,以获得
auth
?我更新了app.component.html,在这里我使用
  • 登录
  • ,但也尝试了访问我浏览器中的路径。您可以在Plunker中复制吗?在进一步的调查中,我相信这与实际的代码无关,而是与我的npm设置有关。我更新了原来的问题
    {
      "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false,
        "outDir": "buildjs/"
      }
    }
    
     {
        path: '',
        component: RecipeComponent,
        pathMatch: 'full'
      },