只需遵循最简单的Typescript教程,在键入函数参数时,我就失败了。
function greeter(person: string) {
return "Hello " + person;
}
var user = "Jack";
document.body.innerHTML = greeter(user);
但是当我加载页面时,我得到“意外的令牌:” - 浏览器正在尝试解析Javascript?我知道Tyescript会编译成JS,但我在这里遗漏了一些东西。
我正在使用Visual Studio 2013,使用jQuery.d.ts来键入它。
.ts正在通过TypeScriptCompile进行构建操作。
.aspx的正文如下所示:
<div>
<script src="Scripts/Main.ts"></script>
</div>
答案 0 :(得分:4)
您正在尝试直接包含.ts文件,浏览器无法理解。在这种情况下,它会遇到它遇到的第一个类型定义,即
中的分号 function greeter(person: string) {
您需要做的是将Scripts/Main.ts
文件编译为Scripts/Main.js
文件(VS2013应自动为您执行此操作),然后将其包含在.aspx源代码中。
要验证这一点,解决方案资源管理器中的+
文件旁边应该有一个Main.ts
符号,Main.js
文件应位于该文件下。
答案 1 :(得分:0)
您需要引用JS文件而不是TS文件:
<div>
<script src="Scripts/Main.js"></script>
</div>