我使用一些* .d.ts文件,我看到很多人以下兩行:「導出爲命名空間foo」的目的是什麼?
//foo.d.ts
export = foo;
export as namespace foo;
declare var foo;
[...]
我可以理解,在前者(出口= FOO),OOF是事出口。但是,作爲命名空間foo導出的含義是什麼?應該如何從外部消費或使用?
在的情況下發生反應的環境declaratin文件,它說:
出口申報命名空間陣營{[...]
:export = React;
export as namespace React;
declare namespace React {
[...]
無法將做出反應命名空間與出口
?
您閱讀前人的精力此:https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript# support-for-umd-module-definitions – cyrix
所以,如果你把export作爲命名空間,那麼文件中的所有全局東西就會從外部看到,就像它在命名空間中定義的一樣。同時,如果你不使用模塊,你可以直接訪問所有的全局變量。對? –
不是全部,而是通過這個命名空間導出的所有內容(如果您將它用作UMD模塊)。 – cyrix