레거시 JS 시스템의 일부에서 TypeScript를 사용하려고합니다. 이 시스템에는 응용 프로그램이 시작될 때 main.js가 실행되는 RequireJS 환경에서 실행되는 많은 응용 프로그램이 있습니다. 이 구조를 만들었습니다TypeScript 1.8 요구 사항이있는 AMD 스타일 모듈의 1.8 상대 모듈 이름 확인
App1/
main.js
app.ts
Modules/
myModule.ts
Models/
model1.js
model2.js
모델은 생성 된 코드이며 .JS 파일로 유지되어야합니다. 모델은 다른 .ts 모듈의 'Require'문에 의해 요구되어야합니다.
모듈 파일의 선언 파일에서 .ts 파일을 컴파일하도록하는 방법을 알고 있습니다.
declare module "Models/model1" { var x:any; export = x;}
그러나이 myModule.ts
define(["require","exports","Models/model1", function(require,exports,model){ ...
에 대한 이러한 AMD 모듈 정의를 작성하지만 경로가
http://mysite/Models/model1.js
로 Require.JS에 의해 해결됩니다 때문에 실행되지 않습니다 코드 경로는 상대 경로이며 RequireJS의 컨텍스트 루트에서 절대 경로 여야하므로 경로 섹션이 누락되었습니다. 생성 된 파일이기 때문에 TS로 모델을 가질 수 없습니다. .ts 으로 이름을 바꾸는 것만으로는 컴파일되지 않습니다. 또한 응용 프로그램이 하네스, 프로덕션 및 단위 테스트 설정에서 실행하는 다양한 방법으로 인해 비 관련 경로를 사용할 수 없습니다.
질문 : TypeScript에서 JavaScript (.js) 모듈의 상대 경로를 생성 할 수있는 방법이 있습니까?