2017-12-18 2 views
0

나는이 간단한 타이프 라이터 클래스, Animal.ts이 상상 (tsc을 실행하여 컴파일 된) 클래스는 다음과 같은 javascript 파일에 있습니다.자바 스크립트로 컴파일 된 타이프 라이터 클래스를 사용하는 방법

var Animal = require("./Animal"); 

var newAnimal = new Animal(); 

tsconfig.json 파일에서 뭔가를 편집해야합니까? 내가 오류는 다음과 같습니다

ReferenceError: Animal is not defined

+0

'allowJs'(tsconfig.json에서)를 사용하여 typescript에서 javascript 파일을 컴파일 할 수도 있습니다. 그렇게하면 자바 스크립트에서 타이프 스크립트 클래스를 참조 할 수 있습니다. – Brian

+1

기본 내보내기를 사용하기 때문에'var Animal = require ("./ Animal")와 같이 요구해야한다고 생각합니다. default' <- 끝에'.default'를 적어 둡니다. – CRice

+1

'export default'를 사용하여 내보내기를하면 모듈을 내보낼 수 있습니다. '새로운 Animal.default ('name')'이 될 것입니다. 그러나 오류는 재현 할 수 없으며 Animal은'{__esModule : true, default : [Function : Animal]}'로 내보내집니다. –

답변

1

Shane van den Bogaard가 지적한 바와 같이, Animal.tsdefault 키워드를 생략 할 필요가 있고 :

const { Animal } = require('./Animal'); 

var Animal = require('./Animal'); 

이 방법 대신에 사용한다 Animal 클래스를 호출하고

를 사용하여 개체를 초기화 할 수 있습니다.
const { Animal } = require('./Animal'); 
var newAnimal = new Animal("Clifford");