2012-10-03 11 views

Antwort

9

In Ihrer Projektdatei müssen Sie das MSBuild-Ziel ändern, das TypeScript-Dateien erstellt. Wenn Sie die Standardvorlage für "Mit TypeScript erstellte HTML-Anwendung" verwenden, das Projekt entladen, die Projektdatei bearbeiten, finden Sie ein Ziel namens "BeforeBuild", das den Compiler unter "$ (PROGRAMFILES) \ Microsoft SDKs \ TypeScript aufruft \ 0.8.0.0 \ tsc ", füge --module hinzu; Speichern und laden Sie Ihr Projekt neu. Beim nächsten Build sollten Sie sehen, dass das Befehlsargument korrekt an den Compiler übergeben wurde.

+2

Es sieht aus wie sie eine Option zu konfigurieren, diese entweder in TS 0.8.1 hinzugefügt haben oder als Teil von Web Essentials. Öffnen Sie Tools-> Optionen und suchen Sie unter Web Essentials-> TypeScript. –

+0

die docs brauchen verbesserung der großen zeit! – Nikos

+8

@MortenMertner - und jetzt haben sie es wieder entfernt. Würde ich das jetzt nicht zu einfach machen wollen, oder? –

8

Bei den neuesten Visual Studio 2013 Update 3 + WebEssentials wurden die Optionen nun (endgültig) richtig in den Bereich Projektoptionen verschoben (Rechtsklick auf das Projekt -> Optionen -> Fenster TypScript-Erstellung).

+1

Ja, VS2013 update 3 verfügt jetzt in den Projekteigenschaften über die Registerkarte TypScript Build. Wenn Sie jedoch "JavaScript-Ausgabe in Datei kombinieren" aktivieren, ändert sich die tsc-Befehlszeile überhaupt nicht. – dthorpe

5

Becouse dieses Problem ist noch tatsächlich auch für TS 1.0 und WebEssentials für VS 2013 Update 3, überprüfen Sie diese Lösung hier: http://icanmakethiswork.blogspot.com/2014/02/typescript-and-requirejs-keep-it-simple.html Oder kurz:

1) Öffnen Sie Projektdatei.

2) finden diese Zeilen:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> 

3) Setzen Sie diese Zeilen vor:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
    <TypeScriptModuleKind>amd</TypeScriptModuleKind> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
    <TypeScriptModuleKind>amd</TypeScriptModuleKind> 
    </PropertyGroup> 
+1

Netter Trick! Wenn Sie "amd" sowohl für "Debug" als auch für "Release" verwenden möchten, müssen Sie keine Bedingung angeben, und Sie benötigen keine zwei Eigenschaftsgruppen. Sie werden dort ein Element namens 'TypeScriptToolsVersion' finden, das Sie' TypeScriptModuleKind' direkt danach hinzufügen können, es funktioniert ganz gut. Das ist wirklich nett, da es jetzt Teil Ihrer Projektkonfiguration ist. Es ist nicht erforderlich, die globale Umgebung auf dem Host-Computer zu ändern (was beim Ändern von Zieldateien erforderlich wäre). –

Verwandte Themen