【问题标题】:Angular2 Router 3.0.0-alpha.7Angular2 路由器 3.0.0-alpha.7
【发布时间】:2016-10-23 13:42:50
【问题描述】:

Mac OS X

依赖关系:

  "dependencies": {
    "@angular/common": "2.0.0-rc.2",
    "@angular/compiler": "2.0.0-rc.2",
    "@angular/core": "2.0.0-rc.2",
    "@angular/http": "2.0.0-rc.2",
    "@angular/platform-browser": "2.0.0-rc.2",
    "@angular/platform-browser-dynamic": "2.0.0-rc.2",
    "@angular/router": "3.0.0-alpha.7",
    "es6-shim": "^0.35.0",
    "reflect-metadata": "0.1.3",
    "rxjs": "5.0.0-beta.6",
    "semantic-ui": "^2.1.8",
    "systemjs": "0.19.31",
    "zone.js": "^0.6.12"
  }

代码:

import {provideRouter, RouterConfig} from "@angular/router";

export const routes: RouterConfig = [
  { path: 'crisis-center', component: CrisisCenterComponent },
  { path: 'heroes', component: HeroListComponent },
  { path: 'hero/:id', component: HeroDetailComponent }
];

export const APP_ROUTER_PROVIDERS = [
  provideRouter(routes)
];

出错

@angular/router/index has no exported member provideRouter and RouterConfig.

我尝试了什么:

  1. 转到@angular/router/index 文件:
/**
 * @module
 * @description
 * Maps application URLs into application states, to support deep-linking and navigation.
 */
export { ROUTER_DIRECTIVES } from './src/directives/router_directives';
export { RouterLink } from './src/directives/router_link';
export { RouterOutlet } from './src/directives/router_outlet';
export { CanDeactivate, OnActivate } from './src/interfaces';
export { Routes } from './src/metadata/decorators';
export { Route } from './src/metadata/metadata';
export { Router, RouterOutletMap } from './src/router';
export { ROUTER_PROVIDERS } from './src/router_providers';
export { DefaultRouterUrlSerializer, RouterUrlSerializer } from './src/router_url_serializer';
export { RouteSegment, RouteTree, Tree, UrlSegment, UrlTree } from './src/segments';

providerRouter 和 RouterConfig 没有导出。

  1. 通过provideRouter and RouterConfig not found in new @angular/router 3.0.0-alpha.3^ 并在将 SystemJS 版本从 0.19.27 更新到 0.19.31 后尝试,但似乎没有任何效果。

【问题讨论】:

  • 您是否尝试过使用 RC.3。更改日志没有提及,但路由器最近已集成到 Angular 存储库中。
  • 您好,Gunter,感谢您的回复。我没有尝试 RC.3,但我删除了 npm_modules 并重新安装了它。现在providerRouter和routerConfig显示在@angular/router的导出列表中。

标签: angular angular2-routing


【解决方案1】:

您的 npm 模块似乎没有更新,请先卸载“@angular/router”并重新安装。

【讨论】:

  • 是的,这就是问题所在。我删除了 npm_modules 并重新安装。一切正常。但我不明白一件事。当我更新 package.json 中的版本并运行命令 npm install 时。为什么没有更新?
  • 在 package.json 中更改版本后,您必须运行 npm update not install。
  • 我的错。谢谢@ranakrunal9
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 2016-10-19
  • 1970-01-01
  • 1970-01-01
  • 2017-01-30
  • 2017-01-08
相关资源
最近更新 更多