requirejs没有加载Angular2 Routing

时间:2015-12-24 14:04:24

标签: angular angular2-routing

您好,我一直在关注本教程,并且我已经更改了一些文件夹结构,一切都很好。

在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

1 个答案:

答案 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

希望它可以帮到你, 亨利