Angular2无法解析provideLocationStrategy

时间:2016-09-27 20:22:30

标签: angular angular2-routing

我遵循了Angular2的路由教程。但是,我现在得到了一个我似乎无法解决的奇怪错误:

127.0.0.1/:21错误:(SystemJS)无法解析provideLocationStrategy的所有参数:(PlatformLocation,?,Token_ROUTER_CONFIGURATION)。

app.routing.ts

import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {MyComponent} from "./myComponent/myComponent.component";

const appRoutes: Routes = [
    { path: '', component: MyComponent},
    { path: '**', component: MyComponent}
];
//
//export const appRoutingProviders: any[] = [
//
//];
//
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { routing, appRoutingProviders } from './app.routing';
import { AppComponent }   from './app.component';
import {MyComponent} from "./myComponent/myComponent.component";

@NgModule({
    imports: [
        BrowserModule,
        routing
    ],
    declarations: [
        AppComponent,
        MyComponent
    ],
    providers: [
        //appRoutingProviders
    ],
    bootstrap: [
        AppComponent
    ]
})
export class AppModule { }

在文档中,他们从app.routing.ts导出appRoutingProviders,但在教程中他们没有,所以我把它留了出来。结果是一样的,无论如何它似乎只是一个空数组。

可能导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:3)

在花了一整天的努力之后,发布后5分钟,我找到了答案。

我在System.config中清除了映射并重新安装了所有软件包并且它运行正常。重新安装软件包而不清除映射似乎安装了相同软件包的多个版本,这可能会搞砸了。

Angular很容易,它周围的一切都很难。