我在 angular.io 上进行了 5 分钟的游览;
这是我的 app.ts
import {Component} from 'angular2/core';
import {Banner} from '../components/banner/banner';
@Component({
selector: 'app',
styles: [`
.title {
font-family: Arial, Helvetica, sans-serif;
}
.container {
height : 100%;
overflow : hidden;
}
`],
template: `
<div class="container">
<header>
<banner></banner>
</header>
</div>
`,
directives: [Banner]
})
export class AppComponent { }
这是我的banner.ts,
import {Component} from 'angular2/core';
@Component({
selector: 'banner',
template: `
<h1>Test</h1>
`
})
export class Banner {
}
我的文件结构如下所示:
app
app.ts
bootstrap.ts
components
banner
banner.ts
index.html
在我的 index.html 文件中
<!DOCTYPE html>
<html>
<head>
<!-- Set the base href -->
<script>document.write('<base href="' + document.location + '" />');</script>
<title>Router Sample</title>
<script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
<script src="https://code.angularjs.org/tools/system.js"></script>
<script src="https://code.angularjs.org/tools/typescript.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/Rx.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/angular2.dev.js"></script>
<!-- Add the router library -->
<script src="https://code.angularjs.org/2.0.0-beta.0/router.dev.js"></script>
<script>
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
packages: {'app': {defaultExtension: 'ts'},
format: 'register'}
});
System.import('app/bootstrap')
.then(null, console.error.bind(console));
</script>
</head>
<body>
<app>loading...</app>
</body>
</html>
我在控制台中看到一个错误:
Uncaught SyntaxError: Unexpected token < Evaluating http://localhost:3000/components/banner/banner Error loading http://localhost:3000/app/bootstrap.ts
我不明白,我按照 angular.io 上的说明并尝试做他们所做的,但我得到一个错误。
我现在所知道的是,当我尝试使用指令时,它会给我一个错误,无论是预先构建的指令,还是我自己构建的指令。
我也尝试添加import {Directive} from 'angular2/angular2';
我真的对此一无所知,请在否决之前给我一些建议。