2012-10-02 3 views
35

TypeScript는 대개 내부적으로 생성 된 여러 파일과 외부에서 생성 된 라이브러리로 구성된 대규모 JavaScripty 프로젝트 용으로 설계되었습니다. TypeScript 컴파일러 (tsc)는 프로젝트를 구성하는 전체 파일 집합을 제공 할 것을 어떻게 기대합니까?여러 소스 파일을 TypeScript 컴파일러로 전달하는 방법은 무엇입니까?

tsc foo.ts bar.ts 

당신은 또한 @을 사용하여 텍스트 파일에서 파일과 명령 행 인수의 목록이 포함 된 텍스트 파일을 전달할 수 있습니다 : 당신은 그냥 순서대로 이름을 지정하는 경우

+1

아직 내 질문에 대답 할 수 없기 때문에 공을 구르려면 TSC가 참조를 인식 할 수있는 최소한 두 가지 방법이 있습니다. 1. 참조 요소를 포함하는 트리플 슬래시 주석을 의 꼭대기.이 같은 TS 소스 파일 : /// < 참조 경로 = "node.d.ts"/ > 2.이 같은 명령 행에서 "--reference"옵션을 전달합니다 TSC --reference 노드를 .d.ts server.ts – CCoder

+0

On the Fly, http://onthefly.codeplex.com/에서 작성한 응용 프로그램을 사용하면 TypeScript 컴파일러에 원하는 수의 파일을 전달할 수 있으며 모든 파일을 빌드/컴파일 할 수 있습니다. 클릭 한 번으로 이러한 파일을 한 번에 볼 수 있습니다. TypeScript로 자동 컴파일하는 것이 많은 사람들에게 문제가되는 것으로 밝혀 졌기 때문에, 가능한 한 많은 사람들이 고통을 덜어주는 작은 앱이 있다는 것을 "광고"또는 "트롤링"하지 않습니다. – Arrow

답변

24

TSC는 순차적으로 여러 소스를 컴파일 할 수 있습니다 명령 행 인수.

tsc @compile.txt 

compile.txt는 다음과 같이 수 :

--module amd 
foo.ts 
bar.ts 

이 또한 참고 파일 참조상의 import를 통해 또 다른, tsc가 자동으로 명시 적으로 나열하지 않고 알아낼 것입니다 경우 그것에 의존하는 파일.

+1

단일 파일을 컴파일 할 때 typescript는 다른 참조 된 파일의 생성 된 코드를 출력합니다. 모든 파일을 컴파일러에 전달하면이 작업이 수행되지 않습니다. (단일 파일을 컴파일 할 때 참조를 포함하지 않도록 명령 줄 인수가 있습니까?) –

+3

실제로는 --out 매개 변수를 사용할 때 참조 코드 만 포함합니다. 그래서 거기에 동작을 변경하지 않고 출력 파일 이름을 변경하는 방법은 무엇입니까? –

+0

컴파일 후 입력 파일에서 다른 파일 이름을 얻을 수 있습니까? 그렇다면 어떤 방법을 제안하십시오. .ts 파일을 .js 파일로 변환하고 싶습니다. –

39

이렇게하면 작업 디렉토리와 해당 하위 디렉토리에있는 모든 *.ts 파일이 컴파일됩니다. 하위 디렉토리를 포함하지 않으려면 첫 번째 줄에서 /s 부분 만 제거하면됩니다.

다른 인수를 tsc 행에 추가 할 수도 있습니다. 경우 사람에

tsc @ts-files.txt --out ..\output/deerchao.web.js --removeComments 
+0

나는 이것을 시험해 보았고 작동시키지 못했습니다. 어떤 아이디어? https://stackoverflow.com/questions/25199866/error-when-compiling-multiple-typescript-files – homaxto

+1

잘 작동합니다. 그 해결책을 실행하고 다음 문제가 발생했습니다 : "오류 TS5037 : '--module'플래그가 제공되지 않으면 외부 모듈을 컴파일 할 수 없습니다." 이렇게하면 다음과 같은 모듈을 추가하는 것만으로 쉽게 해결할 수 있습니다 : tsc @ ts-files.txt --module "commonjs" – Aebsubis

2

맥 OS X이 필요합니다 : 여기에 내 프로젝트 중 하나 지금 사용하고 무엇

타이프 1.5 (베타하지만 최종 버전이 있어야합니다으로
find . -name "*.ts" -type f >ts-files.txt 
/usr/local/bin/tsc @ts-files.txt --module CommonJS --out ./Deploy/ServerMain.js --removeComments 
rm ts-files.txt 
0

또는 누군가가 실제 프로젝트 컴파일하기 전에 pretranspiled 여러 파일을 필요로

find ./my/path/ -name \"*.ts\" -type f | tsc 
0

경우, --project 컴파일러 옵션으로 별도의 tsconfig를 사용합니다.

올바른 구성 파일이있는 프로젝트를 컴파일하십시오. 인수는 유효한 JSON 구성 파일에 대한 파일 경로가 이거나 tsconfig.json 파일이 들어있는 디렉토리에 대한 디렉토리 경로 일 수 있습니다. 자세한 내용은 tsconfig.json 설명서를 참조하십시오.

하나의 사용 사례는 나중에 ionic app 스크립트의 명령 줄 인수에서 사용되는 결과 JS 파일의 필요성이 있습니다.

+0

오류 'TS5042 : 옵션'프로젝트 '를 명령 행의 소스 파일과 섞을 수 없습니다 .' 컴파일 할 파일을 지정할 때 --project 또는 -p 옵션을 사용하십시오. – vikas

관련 문제