angular 2 router error:router_1.provideRouter不是函数

时间:2016-06-28 16:17:43

标签: angular router

当我在bootstrap中使用provideRouter函数时,我收到错误router_1.provideRouter is not a function

  

angular2-polyfills.js:349错误:router_1.provideRouter不是   函数(...)

这是我的boot.ts代码:

import {bootstrap}                     from 'angular2/platform/browser';
import {AppComponent}                  from './app.component';
import {Dashboard1Component}           from './dashboard1.component'
import {TextAreaComponent}             from './textArea.component'
import { provideRouter }               from 'angular2/router';
const router =[
  { path: 'link1', component: TextAreaComponent },
  { path: 'link2', component: Dashboard1Component }
];

bootstrap(AppComponent,[provideRouter(router)]).catch(err => console.error(err));;

这是我在index.html中的脚本,无需使用system.config.js即可加载app和lib:

<!-- Angular 2 beta parts -->
<script src="http://rawgithub.com/systemjs/systemjs/0.19.6/dist/system.js"></script>
<script src="http://code.angularjs.org/tools/typescript.js"></script>
<script src="http://code.angularjs.org/2.0.0-beta.17/angular2-polyfills.js"></script>
<script src="http://code.angularjs.org/2.0.0-beta.17/Rx.js"></script>
<script src="http://code.angularjs.org/2.0.0-beta.17/angular2.dev.js"></script>
<script src="http://code.angularjs.org/2.0.0-beta.17/router.dev.js"></script>


<!-- 2. Configure SystemJS -->
<script>
  System.config({
    transpiler: 'typescript',
    typescriptOptions: { emitDecoratorMetadata: true },
    packages: {'components': {defaultExtension: 'ts'}}
  });
  System.import('components/boot')
        .then(null, console.error.bind(console));
</script>

请注意,我的代码中没有router_1变量。我很感激指导。感谢。

2 个答案:

答案 0 :(得分:1)

provideRouterRC.3附带的新路由器一起推出,但未在测试版中提供.17

另见https://angular.io/docs/ts/latest/guide/router.html

答案 1 :(得分:0)

这解决了我的问题,正如其他人所说,模块是捆绑的,所以你必须更新: systemjs.config.js

setPosX()

还有 app.routes.ts

var map = {
    '@angular/router':  'node_modules/@angular/router'
}