2012-10-03 19 views

Odpowiedz

9

W pliku projektu należy zmienić obiekt docelowy MSBuild, który tworzy pliki TypeScript. Jeśli używasz domyślnego szablonu dla "aplikacji HTML zbudowanej za pomocą TypeScript", wyładuj swój projekt, edytuj plik projektu, znajdziesz cel o nazwie "BeforeBuild", który wywołuje kompilator w "$ (PROGRAMFILES) \ Microsoft SDKs \ TypeScript \ 0.8.0.0 \ tsc ", dodaj - moduł amd do niego; zapisz i załaduj ponownie swój projekt. przy następnym budowaniu powinieneś zobaczyć argument polecenia przekazany poprawnie do kompilatora.

+2

Wygląda na to, że dodaliśmy opcję, aby skonfigurować ten, albo w TS 0.8.1 lub w ramach Web Essentials. Otwórz Narzędzia-> Opcje i spójrz na Web Essentials-> TypeScript. –

+0

Dokumenty wymagają poprawy czasu! – Nikos

+8

@MortenMertner - a teraz usunęli go ponownie. Nie chciałbym teraz zrobić tego zbyt łatwo, prawda? –

8

Na najnowszej aktualizacji Visual Studio 2013 3 + WebEssentials opcje są teraz (ostatecznie) prawidłowo przeniesione w okienku Opcje projektu (Prawy przycisk myszy na projekcie -> Opcje -> Tekst budowy TypeScript).

+1

Tak, aktualizacja VS2013 3 ma teraz we właściwościach projektu zakładkę Kompilacja czcionek, ale zaznaczenie "Połącz wyjście JavaScript do pliku" nie zmienia w ogóle linii komend tsc. – dthorpe

5

poniewaz tego problemu jest wciąż rzeczywisty nawet dla TS 1,0 i WebEssentials dla VS 2013 Update 3, sprawdź to rozwiązanie tutaj: http://icanmakethiswork.blogspot.com/2014/02/typescript-and-requirejs-keep-it-simple.html lub krótko:

1) Otwórz plik projektu.

2) Znajdź linie:

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

3) wstawić ten linie przed:

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

Dobra sztuczka! Jeśli zamierzasz używać 'amd' zarówno dla' Debugowania' i 'Release', nie musisz określać warunku i nie potrzebujesz dwóch grup właściwości. Będziesz miał element o nazwie 'TypeScriptToolsVersion' możesz dodać' TypeScriptModuleKind' bezpośrednio po tym, działa to dobrze. To naprawdę miłe, ponieważ jest teraz częścią konfiguracji twojego projektu. Nie wymaga zmiany środowiska globalnego na komputerze-hoście (który modyfikowałby pliki celów). –