阻止作用域声明..TypeScript和Asp.net MVC 5
本文关键字:Asp net MVC TypeScript 作用域 声明 | 更新日期: 2023-09-27 18:19:50
我尝试在我的asp.net mvc5项目TypeScript中使用。我创建app.ts文件并安装nuget包jquery.TypeScript.DefinelyTyped。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>
}
我认为这是健康的代码,但我在谷歌chrome调试控制台中发现了下一个异常:
app.ts:3未捕获的语法错误:块范围的声明(let,const,函数、类)尚未在严格模式之外得到支持
为什么会发生这种情况?以及如何修复,非常感谢。
Url.Content仅将相对路径转换为绝对路径。它不会更改文件扩展名。
浏览器无法读取您的.ts文件(因此出现错误,因为它不理解TypeScript语法)。将文件扩展名更改为已编译的.js文件:
@section scripts{
<script src="@Url.Content("~/Scripts/app.js")"></script>
}