この場合、Angular 2のRC5と最新のルータを使用してこの問題が発生します。角度2 RC5&@角度/ルーター3.0.0-rc.1設定やバグが正しくありませんか?
マイroutes.tsファイルはこれです:
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {BrowserModule} from '@angular/platform-browser';
import { AppComponent } from './app.component';
import {appRouterProviders, routing} from './routes';
import {
OverviewComponent,
LoginComponent,
ProfileComponent
} from './shared';
@NgModule({
declarations: [
AppComponent,
OverviewComponent,
LoginComponent,
ProfileComponent
],
imports: [
BrowserModule,
CommonModule,
// Router
routing,
// Forms
FormsModule,
],
providers: [
appRouterProviders,
provide(AuthHttp, {
useFactory: (http) => {
return new AuthHttp(new AuthConfig({
headerName: 'Authorization',
headerPrefix: 'Bearer',
tokenName: 'token',
tokenGetter: (() => localStorage.getItem('token')),
globalHeaders: [{'Content-Type': 'application/json'}],
noJwtError: false,
noTokenScheme: false
}), http);
},
deps: [Http]
})
], entryComponents: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {
}
そして最後に、私のエントリファイル(main.ts):
import {
provideRouter,
Routes,
RouterModule
}
from '@angular/router';
import {
OverviewComponent,
LoginComponent,
ProfileComponent
} from './shared';
import { AuthGuard } from './auth.guard';
import { HasToken } from './common/index';
const routes: Routes = [
{
path: '',
component: OverviewComponent,
canActivate: [AuthGuard]
},
{
path: 'login',
component: LoginComponent
},
{
path: 'profile',
component: ProfileComponent,
canActivate: [AuthGuard]
},
{
path: '**',
redirectTo: '/login'
}
];
export const authProviders = [AuthGuard, HasToken];
export const appRouterProviders = [
provideRouter(routes),
authProviders
];
export const routing = RouterModule.forRoot(routes);
そして、私のapp.module.tsファイル(ブートストラップ)これですこれは、次のとおりです。
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode, provide } from '@angular/core';
import { Http } from '@angular/http';
import { AuthHttp, AuthConfig } from 'angular2-jwt';
import { AppModule, environment } from './app/';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
だから私はng-serve
(それはWebPACKのプロジェクトとの角度-cliのだ)イムは、この電子を取得し実行しているときコンソールでrror:
EXCEPTION: Error: Invalid configuration of route ' ': one of the following must be provided (component or redirectTo or children or loadChildren)
UPDATEコードとNEW ERROR
Uncaught Unexpected value 'undefined' declared by the module 'AppModule'
LATEST UPDATEバレルに問題があると思われ
。私はバイパスこのエラーをapp.module
にそれをコンポーネントをインポートが、他のものを与えている場合:
uri.match is not a function
私はルートが、何の変化にpathMatch
属性を追加することはもちろんみました。
角度の問題があるようです:https://github.com/angular/angular/pull/10595 –