簡體   English   中英

Typescript導出模塊顯式創建新的名稱空間?

[英]Typescript export module explicitly creates new namespace?

我只是注意到了這種行為,無法完全將其包裹住。

所以我有兩個打字稿文件File1.ts File2.ts

File1.ts:

module myNamespace {
    export class myClass1 {
         someMethod(myClass2) // use this class
    }
}

File2.ts:

module myNamespace {
    export class myClass2 {
    }
}

因為兩個類在編譯后都在同一個命名空間中,所以這行得通並有意義。

但是,當我將File2.ts更改為

export module myNamespace {
    export class myClass2 {

    }
}

當我在模塊關鍵字前面添加導出關鍵字時,打字稿編譯器抱怨它無法在File1.ts中找到myClass2。

這是為什么? 是因為export顯式設置了一個新的命名空間,而不管它是否已經存在? 為File2.ts創建的javascript幾乎相同,除了

define(["require", "exports"], function(require, exports) { .. }

這個定義調用板條箱是否要挖掘一個新的閉合?

抱歉,這有點令人費解。

我認為這只是編譯器的要求。 在操場上,您的代碼出現此錯誤:

在此處輸入圖片說明

但是,如果我將代碼更改為此,一切工作正常:

在此處輸入圖片說明

或這個..

在此處輸入圖片說明

在這兩種情況下,輸出代碼都是相同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM