Modül meta verisi
Kavramlar
- import.meta modülün bağlamı hakkında bilgi sağlayabilir.
- Boolean import.meta.main mevcut modülün program giriş noktası olup olmadığını bilmenizi sağlar.
- String import.meta.url mevcut modülün URL'sini verir.
- String import.meta.filename mevcut modül için tam olarak çözülmüş yolu verir. Sadece yerel modüller için.
- String import.meta.dirname mevcut modülü içeren dizinin tam olarak çözülmüş yolunu verir. Sadece yerel modüller için.
- import.meta.resolve mevcut modüle göre spesifikasyonu çözmenizi sağlar. Bu fonksiyon başlangıçta sağlanan bir import haritasını (varsa) dikkate alır.
- String Deno.mainModule ana modül giriş noktasının URL'sini verir, yani deno çalışma zamanı tarafından çağrılan modül.
Örnek
bilgi
Aşağıdaki örnek, import.meta.url
, import.meta.main
ve Deno.mainModule
arasındaki farkı göstermek için iki modül kullanır. Bu örnekte, module_a.ts
ana modül giriş noktasıdır.
module_b.ts
export function outputB() {
console.log("Modül B'nin import.meta.url", import.meta.url);
console.log("Modül B'nin mainModule url'si", Deno.mainModule);
console.log(
"Modül B ana modül mü import.meta.main üzerinden?",
import.meta.main,
);
}
module_a.ts
import { outputB } from "./module_b.ts";
function outputA() {
console.log("Modül A'nın import.meta.url", import.meta.url);
console.log("Modül A'nın mainModule url'si", Deno.mainModule);
console.log(
"Modül A ana modül mü import.meta.main üzerinden?",
import.meta.main,
);
console.log(
"Çözülmüş spesifikasyon ./module_b.ts için",
import.meta.resolve("./module_b.ts"),
);
}
outputA();
console.log("");
outputB();
ipucu
Eğer module_a.ts
/home/alice/deno
dizininde bulunuyorsa, deno run --allow-read module_a.ts
çıktısı aşağıdaki gibi olacaktır:
Modül A'nın import.meta.url file:///home/alice/deno/module_a.ts
Modül A'nın mainModule url'si file:///home/alice/deno/module_a.ts
Modül A ana modül mü import.meta.main üzerinden? true
Çözülmüş spesifikasyon ./module_b.ts file:///home/alice/deno/module_b.ts
Modül B'nin import.meta.url file:///home/alice/deno/module_b.ts
Modül B'nin mainModule url'si file:///home/alice/deno/module_a.ts
Modül B ana modül mü import.meta.main üzerinden? false