2012-10-10 2 views
28

웹 용 Visual Studio Express 내에서 TypeScript의 get/set 구문을 사용하고 싶습니다. 이 기능을 어떻게 사용할 수 있습니까? 현재 컴파일 할 때이 오류가 발생합니다.Visual Studio에서 TypeScript로 ES5를 지정하는 경우

속성 접근은 ES5 또는를 대상으로하는 경우에만 사용할 수 있습니다 컴파일되는 파일이 TypeScriptCompile의 빌드 작용을

더. Visual Studio 내에서 필요한 컴파일러 스위치를 추가하는 방법을 모르겠습니다.

어떤 도움

주시면 감사하겠습니다.

답변

19

-target ES5를 컴파일러에 전달해야합니다. 컴파일은 프로젝트 파일에서 msbuild 태스크를 사용하여 트리거됩니다. 프로젝트 파일에는 아마도 "TypeScriptCompile"대상이있을 것입니다. 대상 인수가 전달되었는지 확인하십시오.

<Target Name="TypeScriptCompile" BeforeTargets="Build"> 
    <Message Text="Compiling TypeScript files" /> 
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
</Target> 
+0

그랬습니다. 고맙습니다. – Ezward

2

ES5 호환 코드를 생성 TSC.EXE을 지시하는 스위치는 --target ES5 (이중 대시를 참고)입니다 예를 들면 다음과 같습니다.

각 프로젝트에는 [Something] .csproj라는 파일이 있습니다 (우리의 경우 C# 프로젝트). 메모장을 사용하여 해당 파일을 열고 Target xml 요소를 찾습니다. --target ES5을 추가하여 exec 명령을 변경하십시오. 프로젝트 csproj 파일 스튜디오 2012 프로젝트 템플릿 형 타이프 빌드를 사용

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

그거야. 감사. – Ezward

+0

내가 결국에 끝난 것이다. 여기에는 ES5 대상, AMD 모듈 및 소스 맵용 플래그가 포함됩니다. 기본적으로, 당신은 브라우저 개발을 위해 원하는 것들. <대상 이름 = "BeforeBuild"> Ezward

1

ES3

ES3으로 설정됩니다

하기 전에 :

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

ES3에서 ES5로 변경하고 저장 한 다음 프로젝트를 다시로드하십시오.

+0

나는 이것을했는데 이제는 "tsc.exe"라는 코드가 1 번 코드에서 빠져 나왔다.' – daniel

20

이것은 TypeScript 0.8.2와 함께 변경되었습니다. 또한 내가 비주얼 스튜디오를 사용하고 Asher Barak answer

4

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
    <TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments> 
    <TypeScriptSourceMap>true</TypeScriptSourceMap> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    </PropertyGroup> 

    <PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
    <TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments> 
    <TypeScriptSourceMap>false</TypeScriptSourceMap> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    </PropertyGroup> 

참조 :

<TypeScriptTarget>ES3</TypeScriptTarget> 

MyApp.csproj

<TypeScriptTarget>ES5</TypeScriptTarget> 

에 : 당신은 지금부터 .csproj 파일에 TypeScriptTarget 변경 2 013 Web Essentials로 4 업데이트. Microsoft는 대상이되는 ECMAScript 버전을 훨씬 쉽게 변경하도록 변경했습니다.

는 이제 다음을 수행 할 수 있습니다

  1. 마우스 오른쪽 단추로 프로젝트 이름을 클릭하고 속성을 클릭합니다.
  2. 속성 창에서 "Typescript Build"를 선택하십시오.
  3. ECMAScript 버전을 "ECMAScript 5"로 설정하십시오.

ECMAScript 5가 현재 기본값이라고 생각합니다. 현재 ECMAScript 3 또는 ECMAScript 6을 대상으로 선택할 수도 있습니다.

+1

이것은 이제 가장 좋은 대답이다. (전체 경로) " ',' – Pakman

관련 문제