当我在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变量。我很感激指导。感谢。
答案 0 :(得分:1)
provideRouter
随RC.3
附带的新路由器一起推出,但未在测试版中提供.17
答案 1 :(得分:0)
这解决了我的问题,正如其他人所说,模块是捆绑的,所以你必须更新: systemjs.config.js
setPosX()
还有 app.routes.ts
var map = {
'@angular/router': 'node_modules/@angular/router'
}