閱讀this manual後和這句話的區別:之間有什麼`聲明namespace`和`聲明module`
需要注意的是,在打字稿1.5是很重要的,命名了 改變。 「內部模塊」現在是「命名空間」。 「外部模塊」 現在只是「模塊」
我下的印象是不再使用declare module
,由declare namespace
取代,然而探索node_modules\@types\node\index.d.ts
時,我可以看到,無論declare module
和declare namespace
用於:
declare namespace NodeJS {
export var Console: {
prototype: Console;
new(stdout: WritableStream, stderr?: WritableStream): Console;
}
...
declare module "buffer" {
export var INSPECT_MAX_BYTES: number;
var BuffType: typeof Buffer;
var SlowBuffType: typeof SlowBuffer;
export { BuffType as Buffer, SlowBuffType as SlowBuffer };
}
爲什麼這麼說?有什麼不同?
外部模塊(ES6模塊)不要求在這裏發揮作用,據我瞭解。
對於您在帖子中的鏈接中的兩個段落,都有一個簡短的定義。基本上命名空間是Typescripts實現模塊模式的方式。雖然模塊現在與ES2015模塊相同。聲明部分意味着兩者都預計會出現並由其他人定義。 :) – toskv
@toskv,是的,我肯定讀過我鏈接到的頁面。但它很混亂,這就是爲什麼我在這裏發佈問題 –
@toskv,我有正確的答案,請參閱[我的答案](http://stackoverflow.com/a/42030656/2545680) –