将路由器代码添加到组件时分析错误?(v2.0.0-beta.0)

Parse Error when adding Router code to a component? (v2.0.0-beta.0)

本文关键字:错误 v2 0-beta 代码 路由器 添加 组件      更新时间:2023-09-26

当我运行以下代码时,我在浏览器控制台中看到这个错误:

Uncaught SyntaxError: Unexpected token <
Uncaught SyntaxError: Unexpected token <
    Evaluating http://localhost:3002/angular2/router
    Error loading http://localhost:3002/public/boot.jsrun @ angular2

没有其他明显的错误消息。

当我从以下组件中删除与路由器相关的代码时,错误就会消失。

import {Component} from 'angular2/core';
import {GeoSelector} from './geo-selector.component';
import {RouterOutlet, RouteConfig} from 'angular2/router';
@Component({
    selector: 'va-helps-app',
    templateUrl: `
        <header>
            <div class="masthead">
                <h1>{{siteTitle }}</h1>
                <h2> {{siteSubtitle }}</h2>
            </div>
            <nav class="main-navbar">
                <ul>
                    <li><a href="#"> Search </a></li>
                    <li><a href="#"> About </a></li>
                    <li><a href="#"> Submit </a></li>
                    <li><a href="#"> Contact </a></li>
                </ul>
            </nav>
        </header>
    <router-outlet></router-outlet>
        `,
    directives: [GeoSelector, RouterOutlet]
})

@RouteConfig([
        { path: '/home', as: 'home', component: GeoSelector }
])
export class AppComponent {
    public siteTitle = "Virginia Helps"
    public siteSubtitle = "This is what the site is for";
}

有人能给我指出解决这个问题的正确方向吗?

也许您忘记将router.dev.js文件包含到Angular2应用程序的index.html文件中:

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

否则,您显示的代码似乎是正确的。

希望它能帮助你,Thierry