2014-04-01 37 views
0

我有一個typecript項目,其中我有一個文件中定義的類Question和一個在另一個文件中實例化Question類的函數。我不是能把這個實例做,因爲打字稿拋出的實例化一個錯誤,指出:無法使用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參考標記。

========

回答

1

好像你有循環引用question.ts進口main.ts,沒有看到一個原因:

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

另外,還要確保您的文件名匹配導入名稱(區分大小寫)。正如你可以看到它正常工作:

enter image description here

更新移動answers到他們自己的文件answers.ts並將其導入到問題以及主要的。

+0

我添加了循環引用,因爲有另一個從Question文件引用到主文件。我已經評論過,但它仍然無效。從問題文件中引用引發了一個錯誤:TS 2095:找不到符號 – EternallyCurious

+0

@EternallyCurious它工作正常^ – basarat

+0

請嘗試我在上面的更新中顯示的代碼。它不起作用。我感謝您的幫助。 – EternallyCurious

相關問題