2

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

在 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: Unexpected token < 2 Uncaught SyntaxError: Unexpected token < Evaluating http://localhost:3000/angular2/router 加载http://localhost:3000/app/boot.js 时出错

响应只是加载 index.html

4

1 回答 1

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 提供了模块支持(导入模块和注册模块)。

您是否像这样配置 SystemJs:

<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 。

希望它可以帮助你,蒂埃里

于 2015-12-24T14:14:38.840 回答