저는 하나의 파일에 정의 된 클래스 질문과 다른 클래스에서 Question 클래스를 인스턴스화하는 함수가있는 typescript 프로젝트가 있습니다.Amd를 사용하여 Typescript 클래스를 가져올 수 없습니다
error TS 2095: Could not find symbol 'Question'
이 여기에 코드입니다 : 나는 타이프 라이터는 말한다 인스턴스에 오류가 발생하기 때문에,이 인스턴스 완수 할 수없는 나는 내가 주에 질문 개체를 인스턴스화 수있는 방법
//main.ts
import questionModule = require("./Question");
var Question = questionModule.Question;
function start() {
var question1 = new Question();
}
//Question.ts
import mainModule = require("./Main");
export class Question{
...
}
. Question 클래스가 같은 파일에 정의되어 있으면 잘 작동하지만 모듈화를 위해 파일을 분리해야합니다. 이 클래스에는 생성자가 없습니다. 그리고 이것은 amd로 컴파일 된 프론트 엔드 코드입니다.
--update
도 던져 오류 주요 파일과 질문 파일에서이 코드 :
//main.ts
class QuestionView{
constructor(question:Question) {
...
}
}
error TS2095: Could not find symbol 'Question'
//Question.ts
export class Question {
start() {
return{
question: " ",
yesOrNo: false,
answers: new Answers([])
}
}
}
error TS2095: Could not find symbol 'Answers'.
답변 정의는 내가 순환 참조를 방지하기 위해 제거한 주 파일에서 사용할 수 있습니다 . 두 파일 사이에 typescript 참조 태그를 만들었습니다. 당신이 question.ts
에 main.ts
을 가져 오는 순환 참조를이 같은
========
질문 파일에서 주 파일로 다른 참조가 있었기 때문에 순환 참조를 추가했습니다. 나는 그것을 주석 처리했으나 여전히 효과가 없다. 질문 파일에서 참조를 만들면 오류가 발생합니다. TS 2095 : 기호를 찾을 수 없습니다. – EternallyCurious
@EallyallyCurious 제대로 작동합니다.^ – basarat
위의 업데이트에서 설명한 코드를 사용해보십시오. 작동하지 않습니다. 도와 주셔서 감사합니다. – EternallyCurious