typescript functieparameter type onverwacht teken :
Ik volg gewoon de eenvoudigste Typescript-tutorial en wanneer het erop aankomt om een functieparameter te typiseren, faal ik.
function greeter(person: string) {
return "Hello " + person;
}
var user = "Jack";
document.body.innerHTML = greeter(user);
Maar wanneer ik de pagina laad, krijg ik "Onverwacht teken :" - probeert de browser Javascript te parseren? Ik snap dat Typescript zal compileren naar JS, maar ik mis hier iets.
Ik gebruik Visual Studio 2013, met jQuery.d.ts om het te typen.
Het .ts bestand gaat door TypeScriptCompile voor zijn buildactie.
Het lichaam voor de .aspx ziet er als volgt uit:
<div>
<script src="Scripts/Main.ts"></script>
</div>
Antwoord #1
Je probeert het .ts-bestand direct op te nemen, en de browser begrijpt dat niet. In dit geval struikelt het bij de eerste type-definitie die het tegenkomt, dat wil zeggen het puntkomma-teken in
function greeter(person: string) {Wat je moet doen is het Scripts/Main.ts-bestand compileren naar een Scripts/Main.js-bestand (VS2013 zou dit automatisch voor je moeten doen), en dat vervolgens opnemen in de .aspx-broncode.
Om dit te verifiëren, zou er een + teken naast het Main.ts bestand in de Solution Explorer moeten staan, en het Main.js bestand zou daaronder moeten staan.
Antwoord #2
Je moet naar het JS-bestand verwijzen, niet naar het TS-bestand:
<div>
<script src="Scripts/Main.js"></script>
</div>
