this manual okuduktan sonra ve bu alıntı beyan` arasındaki fark nedir:namespace` beyan ve `module`
O typescript 1,5 olduğuna dikkat etmek önemlidir, adlandırma değişti. “Dahili modüller” artık “ad alanları”. Hem
declare module
vedeclare namespace
kullanıldığını görebilirsiniznode_modules\@types\node\index.d.ts
keşfetmek “Dış modüller” artık sadece “modüller” dir
Ben ancak, declare module
artık kullanılmamaktadır bir izlenimi ve declare namespace
tarafından değiştirilmiştir:
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 };
}
Neden? Fark ne?
Dış modüller (ES6 modülleri) anladığım kadarıyla burada oynamak yok.
declare module "buffer" {} // with quotes
ve
declare module buffer {} // without quotes
(tırnak) eski dış modül (ES6 modülü) belirttiği ve şu anda .d.ts
dosyalarında kullanılır:
Yayında, bağlantıda bulunan iki paragraf için kısa bir tanım var. Temel olarak ad alanları, modül kalıbını uygulama biçimleridir. Modüller artık ES2015 modüllerine eşdeğerdir. Beyan kısmı, her ikisinin de var olması ve başka biri tarafından tanımlanması anlamına gelir. :) – toskv
@toskv, evet, kesinlikle bağlandığım sayfayı okudum. Ama bu çok kafa karıştırıcı, bu yüzden burada –
@toskv sorusunu yayınladım, doğru cevabı aldım, lütfen [yanıtım] (http://stackoverflow.com/a/42030656/2545680) –