您好,我一直在关注本教程,并且我已经更改了一些文件夹结构,一切都很好。
在Alpha阶段,我使用了包含路由的angular2-seed项目。
我现在正试图设置路由,但我一直无法加载导出。
这个组件位于/ app / template / footer,我相信导入应该可以工作,我也尝试在导入前添加一个斜杠或相对加入2或3次../
import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES, ROUTER_PROVIDERS, RouteConfig} from 'angular2/router';
@Component({
selector: 'navigation',
directives: [ROUTER_DIRECTIVES],
template: `
<ul>
<li> <a [routerLink]="['./orders']">Orders</a></li>
</ul>
`
})
export class Navigation {
}
控制台中的错误:
1 Uncaught SyntaxError:意外的令牌&lt; 2 Uncaught SyntaxError:意外的令牌&lt; 评估http://localhost:3000/angular2/router 加载http://localhost:3000/app/boot.js
时出错响应只会加载index.html
答案 0 :(得分:3)
您是否在index.js
文件中添加了以下内容:
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
如果是这样,您应该检查SystemJS和Typescript编译器的配置。实际上,SystemJS提供模块支持(导入模块和寄存器模块)。
您是否配置了类似SystemJ:
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/boot')
.then(null, console.error.bind(console));
</script>
关于tsconfig.json
文件中的Typescript编译器的配置:
{
"compilerOptions": {
"target": "ES5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules"
]
}
您还可以查看Angular2快速入门了解更多详情:https://angular.io/guide/quickstart。
希望它可以帮到你, 亨利