无法使用amd导入Typescript中的类
我有一个typescript项目,其中一个文件中定义了一个类问题,另一个文件中定义了一个实例化问题类的函数。我无法完成此实例化,因为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
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