TypeScript'te yazılan node.js uygulamasına sahibim ve yapılandırma dosyasına göre iki arabirim uygulaması arasında geçiş yapmam gerekiyor. Şu anda çalışıyor gibi görünen bu kod var.Uygulama değiştirmek için koşullu içe aktarma
"use strict";
import { config } from "../config";
let Something;
if (config.useFakeSomething) {
Something = require("./FakeSomething").FakeSomething;
} else {
Something = require("./RealSomething").RealSomething;
}
...
let s = new Something();
s.DoStuff();
...
Ama kötü bağırsağı (karıştırma yükleme modülleri için ve ithalat gerektiren başlıca nedeniyle) bu konuda duygu var. Her iki modülü de içe aktarmadan yapılandırma dosyasına dayalı uygulama geçişini gerçekleştirmenin başka bir yolu var mı?
Ama bu her zaman her iki modülleri yükleyecektir, böyle olmaz? RealSomething modülünü dev ortamına yükleyemiyorum çünkü orada olmayan özel donanımı başlatıyor. –
Evet, haklısın. Cevabımı güncelleyeceğim. Bu dinamik davranışı desteklemek için bir TypeScript modülü içinde yanlış bir şey olduğunu düşünmüyorum. Farklı bir modül yükleyiciye geçtiğinizde sorun ortaya çıkacaktır, ancak bu sık olmamalıdır. –