2016-06-11 77 views
0

我有一個我正在嘗試爲節點模塊創建打字。我發現當我使用分解類時,代碼不會編譯。分解類的打字稿聲明

這是我的聲明文件demo.d.ts

declare namespace DemoNs { 
    interface Foo_static { 
    new(): Foo_instance; 
    } 

    interface Foo_instance {} 

    export var Foo: Foo_static; 
} 


declare module 'demo-ns' { 
    export = DemoNs 
} 

,這是我的測試文件演示tests.ts

/// <reference path="demo.d.ts" /> 

import { Foo } from 'demo-ns'; 

var a: Foo; 

當試圖編譯的最後一行測試文件說:

error TS2304: Cannot find name 'Foo'. 

回答

0

發現問題。

編譯器拋出錯誤,因爲即使強硬我出口美孚,沒有地方說這是一種類型。因此他沒有找到Foo。

我固定加入到我的命名空間美孚在我的聲明文件,該行:

export type Foo = Foo_instance;