鍍金池/ 問答/HTML/ TypeScript如何使用import和namespace

TypeScript如何使用import和namespace

剛接觸TypeScript,問的問題比較基礎(chǔ),見笑了。

我現(xiàn)在遇到的問題是:
我有一個GameMain.ts文件在根目錄,內(nèi)容如下:

import Test= test.Test;
class GameMain{
    constructor(){
        new Test();
    }
}
new GameMain();

其中Test這個類,路徑是./js/Test.ts
內(nèi)容如下:

namespace test{
    export class Test{
        constructor(){
             alert("Test");
        }
    }
}

這個時候我執(zhí)行GameMain.ts 是可以正常運行的,會執(zhí)行alert("Test")
我測試了幾次,只要GameMain.ts import 的類在根目錄下都是可以正常引入的。

如果我新建一個Test2.ts,路徑是./test2/Test2.ts
內(nèi)容如下:

namespace test2{
    export class Test2{
        constructor(){
             alert("Test2");
        }
    }
}

我在GameMain.ts 里引入Test2是可以的,但是為什么我在Test.ts里面引入Test2.ts就會報錯呢?
示例:

import Test2=test2.Test2;

namespace test{
    export class Test{
        constructor(){
             alert("Test");
        }
    }
}

這個時候報的錯 是 "test2 is not defined",是因為我沒有正確的使用import么?

我看了很久的官方文檔,有關(guān)模塊和命名空間的一些文檔好像沒有提到這種情況。

目錄結(jié)構(gòu)如下:

clipboard.png

回答
編輯回答
柚稚

抱歉,基礎(chǔ)的語法還不太懂,之前一直在用java,所以用java的思想去理解TypeScript就會有問題。
是我太著急了,多謝你的回答。

2017年9月22日 19:10
編輯回答
莓森
兄弟你這個題沒人回答是有原因的,你這個代碼看著總是不全的樣子,寫的也很怪,問得也不清楚。你在export外面加命名空間,我就默認你是要分很多文件來寫了吧。那你的引用標(biāo)簽在哪呢。

命名控件

建議重新看一下這一節(jié),如果你是我說的那個意思的話。
如果你就是想自己寫一個模塊,那外面的命名控件完全沒有意義,這樣你需要用正宗的import方式來導(dǎo)入它。

模塊

大概就是import XXX from XXX,然后如果你沒有export default的話,

參數(shù)解構(gòu)

就比a.b這種用起來舒服的多。
不知道有沒有誤會你什么意思,希望有幫助。

2017年9月14日 00:18