나는 같은 일을하고자하는 자바 스크립트/타이프 라이터 라이브러리를 구축했습니다 :패키지 이름의 하이픈 때문에 TypeScript 오류가 혼동됩니까?
- 자바 스크립트와 타이프 라이터 중 하나를 호출 할 때 RequireJS를 통해 접근
- 자바 스크립트와 타이프 라이터 중 하나에서라는 전역 변수 전체 단위 테스트 적용 범위가 있음
이것은 Webpack을 사용하여 패키지 된 UMD이며 여기 NPM 패키지 (https://www.npmjs.com/~typed-contract)로 배포됩니다. 제가 작업중인 지점의 전체 소스를 원한다면 여기에서 찾을 수 있습니다 https://github.com/randarp/typed-contract/tree/feature/Issue_5.1.
제 문제는 모든 시나리오에서 작동하도록 할 수없고 패키지 이름의 하이픈 (즉, 형식화 된 계약서)이 범인이라는 것입니다. 몇 가지 예 : 타이프에서
- , \ 코드 \ TypedContract.Specs Contract.TypeScript.requireJS.spec.ts \
- 나는 "입력 계약"에서 수입 {계약을} 사용하는 경우 다음 내 단위 테스트는 실패하지만 WebStorm transpiler는 정확하다고 말합니다.
- "typedcontract"에서 import {contract}를 사용하면 내 장치 테스트는 통과하지만 Transiler는 Error : (4, 26) TS2306 : File 'C : /Projects/TypedContract/Code/typedcontract.d를 표시합니다. ts '는 모듈이 아닙니다.
- 이 문제를 테스트하기 위해 외부 NodeJS 응용 프로그램이 있습니다. 이 경우 :
- 나는 그것이로드되지 않습니다 내가 'typedcontract'에서 수입 {계약을} 사용하는 경우
- 예상대로 작동 'typedcontract'에서 수입 {계약을} 사용하는 경우 node_modules에서 NPM 패키지를 찾을 수 없으므로
나는 누군가가 갈 수 있습니다 무엇인지에 몇 가지 단서를 제공하지 않는 한이 패키지를 더 이상 사용하고 하이픈없이 새로 시작할 필요가 있다고 생각하기 시작하고 있기 때문에 ISN 내 "순열에 의해 프로그래밍" 일하고있어.