无法使用amd导入Typescript中的类

时间:2014-04-01 08:44:56

标签: typescript

我有一个打字稿项目,其中我在一个文件中定义了一个类问题,并在另一个文件中实例化了问题类。我无法完成此实例化,因为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{

...
}

如何在main中实例化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'.

Answers定义在我删除的主文件中可用,以避免循环引用。我在两个文件之间创建了typescript引用标记。

======

1 个答案:

答案 0 :(得分:1)

好像您在main.ts中导入了{em>循环参考导入question.ts,看不出原因:

import mainModule = require("./Main");

还要确保您的文件名与导入名称匹配(区分大小写)。你可以看到它工作正常:

enter image description here

更新answers移至自己的文件answers.ts并将其导入问题和主要文件。