2015-10-28 34 views
0

我嘗試在我的asp.net mvc5項目TypeScript中使用。我創建app.ts文件並安裝nuget-package jquery.TypeScript.DefinitelyTyped。 app.ts code:塊範圍聲明... TypeScript和Asp.net MVC 5

/// <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 =「塔拉斯」,代碼創建了一些按鈕:

@{ 
    ViewBag.Title = "tmp"; 
} 

<button id="taras"> TS EVENT </button> 

@section scripts{ 
    <script src="@Url.Content("~/Scripts/app.ts")"></script> 
} 

我認爲這是健康的代碼,但是我趕上谷歌瀏覽器的調試控制檯下一個例外:

app.ts:3 Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

爲什麼會發生?以及如何解決它,非常感謝。

回答

3

Url.Content僅將相對路徑轉換爲絕對路徑。它不會更改文件擴展名。

瀏覽器無法讀取您的.ts文件(因此錯誤,因爲它不瞭解TypeScript語法)。文件擴展名更改爲編譯.js文件:

@section scripts{ 
    <script src="@Url.Content("~/Scripts/app.js")"></script> 
} 
+0

是,THX,好工作;) –