我尝试在我的asp.net mvc5项目TypeScript中使用。我创建app.ts文件并安装nuget-package 的 jquery.TypeScript.DefinitelyTyped 即可。 app.ts代码:
/// <reference path="typings/jquery/jquery.d.ts"/>
class TestClass {
test(): void {
alert("Taras TS");
}
}
window.onload = () => {
var tcs: TestClass = new TestClass();
$('#taras').click(() => { tcs.test() });
};
这是非常简单的代码。之后我创建了index.cshtml文件,其中创建了一个带有 id ='taras'的按钮,代码:
@{
ViewBag.Title = "tmp";
}
<button id="taras"> TS EVENT </button>
@section scripts{
<script src="@Url.Content("~/Scripts/app.ts")"></script>
}
我认为这是健康的代码,但我在google chrome调试控制台中捕获了下一个异常:
app.ts:3 Uncaught SyntaxError:块范围声明(let,const, 函数,类)在严格模式之外尚不支持
为什么会这样?以及如何解决它,非常感谢。
答案 0 :(得分:3)
Url.Content仅将相对路径转换为绝对路径。它不会更改文件扩展名。
浏览器无法读取您的.ts文件(因此该错误,因为它不了解TypeScript语法)。将文件扩展名更改为已编译的.js文件:
@section scripts{
<script src="@Url.Content("~/Scripts/app.js")"></script>
}