Het compileren Typescript foutcode met get set "beëindigd met code 1"

stemmen
13
get topLeft()      { return this._topLeft;             }

set topLeft(value) {  this._topLeft = value; Recalc(); }

De bovenstaande code werkt vinden in typoscript Play, maar ik kreeg build fout bij het samenstellen van het van Visual Studio 2012 error exited with code 1

Heeft iemand proberen te krijgen, stellen de schrijfmachine en het opbouwen van succes?

De vraag is gesteld op 07/10/2012 om 17:08
bron van user
In andere talen...                            


2 antwoorden

stemmen
19

Je zult moeten richten op ECMAScript v5, dat wil zeggen langs het -target ES5argument voor de compiler. Dit moet worden ingesteld in de projectdossiers doelconfiguratie.

Ik weet niet of VS heeft geen ingebouwde mechanims voor het bewerken van doelconfiguraties, dus ik kan u alleen vertellen hoe het met de hand te doen. Open gewoon uw .csprojproject-bestand, op zoek naar het Targetknooppunt waar de typoscript compiler opdracht ligt, en voeg het -target ES5argument.

In mijn config ziet het er als volgt uit:

<Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

Bijwerken

Vanaf versie 0.8.1.0, werd de hardcoded versie afhankelijkheid verwijderd en ondersteuning voor bronkaarten werd toegevoegd, en dus het Targetknooppunt ziet er nu als standaard:

<Target Name="BeforeBuild">
    <Message Text="Compiling TypeScript files" />
    <Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
    <Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

Het injecteren van het targetargument is nog steeds vrij eenvoudig, simpel gezegd na tscof $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
antwoordde op 07/10/2012 om 18:07
bron van user

stemmen
9

Met ingang van 0.8.2 heeft een andere verandering gehad. Sommige van de gemeenschappelijke typoscript build spul was verplaatst van uw Csproj naar een extern build-bestand. Als volgt:

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

Uw .csproj krijgt nog steeds een aantal argumenten op het typoscript build instellen door ze op te nemen als elementen in de build. een van die elementen is de ES-versie. De sjabloon die twee groepen voor mij, één voor debug en één voor vrijgave:

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
  </PropertyGroup>

voor het gewenste effect verander gewoon de ES3 te ES5

Voor een beter begrip van hoe dit uiteindelijk eindigt in het kader van de oproep tot het typoscript compiler een kijkje in het bestand Microsoft.TypeScript.targets.

Succes,

antwoordde op 04/03/2013 om 13:17
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more