Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在新@angular/router 3.0.0-alpha.3中找不到provideRouter和RouterConfig^_Angularjs_Typescript_Angular_Npm_Angular2 Routing - Fatal编程技术网

Angularjs 在新@angular/router 3.0.0-alpha.3中找不到provideRouter和RouterConfig^

Angularjs 在新@angular/router 3.0.0-alpha.3中找不到provideRouter和RouterConfig^,angularjs,typescript,angular,npm,angular2-routing,Angularjs,Typescript,Angular,Npm,Angular2 Routing,我正在将angular2应用程序迁移到RC2,并尝试使用路由器的版本3 alpha 我已经遵循了路由的设置 但我不断发现以下错误: /@角度/路由器/索引“”没有导出的成员“provideRouter” /@角度/路由器/索引“”没有导出的成员“RouterConfig” 尝试在my app.router.ts文件中使用以下导入时: import { provideRouter, RouterConfig } from '@angular/router'; 我在VisualStudio中使用带

我正在将angular2应用程序迁移到RC2,并尝试使用路由器的版本3 alpha

我已经遵循了路由的设置 但我不断发现以下错误:

/@角度/路由器/索引“”没有导出的成员“provideRouter”

/@角度/路由器/索引“”没有导出的成员“RouterConfig”

尝试在my app.router.ts文件中使用以下导入时:

import { provideRouter, RouterConfig } from '@angular/router';
我在VisualStudio中使用带有commonjs模块格式的typescript

以下是my packages.json中的依赖项

"@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.3",
"@angular/router-deprecated": "2.0.0-rc.2",
"@angular/upgrade": "2.0.0-rc.2",
"systemjs": "0.19.27",
"core-js": "^2.4.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "^0.6.12",
"angular2-in-memory-web-api": "0.0.12"
即使我在system.config.js中将角度/路线设置为npm cdn,如下所示:

“@角度/路由器”:”

我仍然得到错误

我甚至尝试使用alpha.4、alpha.5和最新的alpha.6版本

我尝试删除nomble模块文件夹并强制npm安装以获取新文件

问题:

有人能帮我弄清楚为什么找不到导出的memebersprovideRouterRouterConfig


谢谢

我也遇到了同样的问题,用3.0.0-alpha.7版解决了

这里是my package.json:

"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",
"@angular/upgrade":  "2.0.0-rc.2",
"systemjs": "0.19.31",
"core-js": "^2.4.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "^0.6.12",
"angular2-in-memory-web-api": "0.0.12",
"bootstrap": "^3.3.6",
"contentful": "3.3.14"}

尽管我不认为它是稳定的,而且新文档可能有点误导。

也花了几个小时来解决这个问题,升级到beta7。记住在将PackageName更改为index.js时更改system.config.js(例如,“platform browser dynamic/platform browser dynamic.js”现在命名为“platform browser dynamic/index.js”)

但现在我似乎无法获得默认的工作路线,是吗

编辑:默认路由为:

{
    path: '',
    redirectTo: 'index.php/component/atkstat/dashboard'
}, 

您需要将该行添加为@angular/router No umd for router

packages['@angular/router'] = { main: 'index.js', defaultExtension: 'js' };
看看package.json和system.config.js的这是什么,可能会对你有所帮助


尝试使用ProviderRoutes而不是provideRouter

import {provideRoutes} from "@angular/router";
以及您的路线:

provideRoutes([
    {path: '', redirectTo: '/myurl'}
])
UPD 目前,您根本不需要ProviderRouter,只需编写路径并导入即可 来自“@angular/router”的路由

import {RouterModule, Routes} from '@angular/router';

const APP_ROUTES: Routes = [
  {path: '', redirectTo: '/somthng', pathMatch: 'full'},
  {path: 'somthng', component: SomthngComponent},
  {path: 'somthng-list', component: SomthngListComponent}
];

export const your_routing = RouterModule.forRoot(APP_ROUTES);

感谢chriisi,看起来它是systemjs版本-需要从0.19.27更新到0.19.31,alpha 7 workedI现在在alpha 6上降级,因为alpha 7总是给我带来一个错误:“路径不能以斜杠开始”.现在它工作起来很有魅力。谢谢,我遇到了一些其他错误,我只是觉得它现在对我来说不够稳定。我会在它与RC2更好地集成后再讨论它。是的,可以理解。唯一的动机是,它可能是最终版本。我不想在路由器中构建整个应用程序,不推荐和永远改变一个月内完成所有工作。确切地说,是与前端框架的候选版本一起工作的乐趣;)