2016-11-20 16 views
6

handbook birkaç teknikleri tarif edilmiştir:Tüm modüller TypeScript'te bir dizinden nasıl içe aktarılır? ithal modülleri için daktilo

  • İçe bir modülden tek ihracat: import { ZipCodeValidator } from "./ZipCodeValidator";
  • İthalat tek bir modülden ihracat ve yeniden adlandırın: import { ZipCodeValidator as ZCV } from "./ZipCodeValidator";
  • İthalat tüm modülü: import * as validator from "./ZipCodeValidator";

Bir seçenek daha var, ama bulabileceğim bir yer yok. Tüm modülleri belirli bir dizinden içe aktarmak mümkün mü?

Sanırım söz dizimi şu şekilde olmalıdır: import * from "./Converters".

+0

[typescript 1.8 modüllerinin: import klasördeki tüm dosyaları] Olası yinelenen (http://stackoverflow.com/questions/38158429/typescript-1 -8-modules-import-all-files-from-folder) –

cevap

11

Hayır, bu mümkün değil. Çoğu kişi, aynı dizindeki tüm dosyaları yeniden dışa aktaran bir index.js dosyası oluşturur.

Örnek:

my-module/ 
    a.ts 
    b.ts 
    index.ts 

a.ts

export default function hello() { 
    console.log("hello"); 
} 

b.ts

export default function world() { 
    console.log("world"); 
} 

index.ts

export { default as A } from "./a"; 
export { default as B } from "./b"; 

endeks adı (javascript ile aynı) bırakılabilir:

import * as whatever from "./my-module"; 

console.log(whatever); 
// Logs: { A: [Function: hello], B: [Function: world] } 
+0

Eklenen tüm dosyalar index.ts içinde de dışa aktarılıyorsa nasıl test yazılır? gibi bir d.ts ve index.ts için eklenmiş değil nasıl bu durumdan kaçınmak için programsal olarak – Raghavendra

+0

@Raghavendra Her şey bir 'nesne' olduğundan, sadece tuşların üzerinde yineleyebilirsiniz. Şunlar gibi: "./bar" ifadesinden foo olarak içe aktarma; console.log (Object.keys (foo) .length) // logları içe aktarma sayısı ' – marvinhagemeister

+0

bu soruyu sormamıştım cevabını aldım. Örneğin, her şeyi ekleyip eklemediklerini kontrol etmek istiyorum. .ts dizin dosyasında – Raghavendra

İlgili konular