Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用amd导入Typescript中的类_Typescript - Fatal编程技术网

无法使用amd导入Typescript中的类

无法使用amd导入Typescript中的类,typescript,Typescript,我有一个typescript项目,其中一个文件中定义了一个类问题,另一个文件中定义了一个实例化问题类的函数。我无法完成此实例化,因为Typescript在实例化时抛出一个错误,该错误表示: error TS 2095: Could not find symbol 'Question' 代码如下: //main.ts import questionModule = require("./Question"); var Question = questionModule.Question; fu

我有一个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中实例化问题对象。当类问题在同一个文件中定义时,它工作得很好,但为了模块化,我需要将它们分开。此类没有构造函数。这是用amd编译的前端代码

--更新

主文件和问题文件中的此代码也会引发错误:

//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引用标记

=======

似乎您在
问题.ts
中导入了一个循环引用
main.ts
,没有看到这样做的原因:

import mainModule = require("./Main");
还要确保文件名与导入名称匹配(区分大小写)。如您所见,它工作正常:


更新
答案
移动到他们自己的文件
answers.ts
中,并将其导入到问题和主文件中。

我添加了循环引用,因为从问题文件到主文件中有对另一个的引用。我已经把它注释掉了,但它仍然不起作用。来自问题文件的引用抛出一个错误:TS 2095:找不到我在上面的更新中显示的代码。它不起作用。感谢您的帮助。@everycurious将
answers
移动到他们自己的文件
answers.ts