2014-04-14 189 views
0

這應該都可以,但是不會。我有以下打字稿代碼:實例化對象時出現故障

module LayoutEngine { 
    class WorkerApi { 
     private worker : Worker; 

     constructor() { 
      debugger; 
      this.worker = new Worker("layout-worker.js"); 
     } 

,我試圖在JavaScript來創建此對象:

require(["../common/events", "worker-api.js"], function (events) { 
    var api = new LayoutEngine.WorkerApi(); 

但我得到Uncaught TypeError: undefined is not a function並在調試LayoutEngine does evaluate as an object but LayoutEngine.WorkerApi resolves as undefined

我在創建它的聲明中缺少什麼?

回答

0

您是否正確導出類?

我認爲你需要 「出口」 之類的WorkerApi

所以,你的代碼應該是

module LayoutEngine { 
    export class WorkerApi { 
     private worker : Worker; 

     constructor() { 
      debugger; 
      this.worker = new Worker("layout-worker.js"); 
     } 

,然後將它們導入這樣

var workerApi = require(["../common/events", "worker-api.js"]; 
var api = new workerApi(); 

希望這有助於!

+0

我試過了 - 然後LayoutEngine也未定義。所以更糟糕。 –

+0

您是否參考了頂部的文件?就像這樣 - /// Ishita

+0

不,但引用是.ts結構,我在.js文件中遇到問題。 –