>

TypeScript로 JavaScript 기반 테스트를 작성하고 있습니다.

하나의 tsc --watch 를 원합니다  명령을 통해 모든 파일을 올바르게 변환 처리 할 수 ​​있습니다. 이것이 핵심 부분입니다. 여러 tsconfig.json 파일을 사용하는 것이 여기에 있다고 생각합니다.

이 구조가 있습니다 :

/tests
  /e2e
     tsconfig.json
    /src
    /target
  /unit
     tsconfig.json
    /src
    /target

TypeScript 파일을 src 디렉토리에 넣고 대상 디렉토리로 변환하고 싶습니다

내 질문은-파일 목록을 입력으로 사용할 수있는 bash 스크립트가 있다면 파일을 어떻게 각각의 대상 디렉토리로 변환 할 수 있습니까?

예 : 입력 파일 :

/home/you/projects/x/test/e2e/src/a.ts
/home/you/projects/x/test/e2e/src/b.ts
/home/you/projects/x/test/e2e/src/c.ts
/home/you/projects/x/test/unit/src/foo.ts
/home/you/projects/x/test/unit/src/bar.ts
/home/you/projects/x/test/unit/src/baz.ts

원하는 출력 파일 :

/home/you/projects/x/test/e2e/target/a.js
/home/you/projects/x/test/e2e/target/b.js
/home/you/projects/x/test/e2e/target/c.js
/home/you/projects/x/test/unit/target/foo.js
/home/you/projects/x/test/unit/target/bar.js
/home/you/projects/x/test/unit/target/baz.js

tsc 에 대한 방법이 있습니까  해당 파일을 가져 와서 한 줄 명령으로 각각의 대상 디렉토리로 변환하는 명령?

나는 매우 까다로울 수 있다고 생각한다. dirname으로 그룹화하고 각 그룹을 개별적으로 변환해야 할 수도 있습니다. 훨씬 어려울 것입니다.

  • 답변 # 1

    나는 당신이 네이티브 tsc --watch 를 얻을 수 있다고 생각하지 않습니다  프로젝트 구조를 지원하지만 gulp 및 gulp-typescript를 사용할 수 있습니다. 또한 각각 고유 한.config.json을 사용하여 여러 가지 다른 TypeScript 프로젝트에서 동시 감시를 설정할 수 있습니다.

    하위 디렉토리 사이에 종속성이있는 경우 lerna도 사용하십시오. 그렇지 않으면 대상 디렉토리에 놀라운 레이아웃이 생길 수 있습니다. 추가 수준의 디렉토리는 초기 문제였습니다. lerna 로 , 의존성을 문서화하는 별도의package.json파일을 설정합니다. 그런 다음 lerna bootstrap  참조를 해결하기 위해 심볼릭 링크를 설정할 수 있습니다.

    lerna 와 함께 package.json파일 중 일부를 "private": true 로 표시 할 수 있습니다. npm에 게시하지 않으려는 경우

  • 답변 # 2

    이 작업을 수행하기위한 도구를 만들었습니다 :

    github.com/ORESoftware/tsc-multi-watch

    /tsconfig.*\.json/ 에 대한 프로젝트를 검색합니다  파일을 생성하고 각각에 대해 tsc -w 프로세스를 생성합니다.

    그뿐만 아니라 tsc --watch의 또 다른 결함을 해결합니다. tsc --watch는 프로젝트에 추가 된 새 파일을 설명 할 수 없습니다.

    tsc-multi-watch는 올바른 tsc -w 를 다시 시작합니다  때 .ts 처리  파일이 프로젝트에 추가됩니다.

  • 이전 javascript - webextensions에서 컴포넌트를 사용할 수 없음 - get"referenceerror : cu is not defined"
  • 다음 javascript - reconnectionAttempts와 pingTimeout의 차이점은 무엇입니까?