JavaScript Modülleri

Modüller (Modules)

JavaScript modülleri, kodu tekil dosyalara ayırmanızı sağlar.

bu, kod kitaplığını daha kolay yönetmeyi kolaylaştırır.

modül, import ifadesinden dışarıdan dosya içe aktarır.

Modül, <script> etiketi içindeki type="module".

Örnek

<script type="module">
import message from "./message.js";
</script>

Kişisel Deneyimleyin

dışa aktarma

ilefonksiyonveyadeğişkenmodül, herhangi bir dış dosyada saklanabilir.

İçe aktarma iki türdedir:Adlandırılmış İçe AktarmaveVarsayılan İçe Aktarma.

Adlandırılmış İçe Aktarma (Named Exports)

Bir "person.js" adında bir dosya oluşturalım ve içine dışa aktaracağımız içerikleri dolduralım.

Adlandırılmış dışa aktarmaları oluşturmak için iki yol vardır. Birincisi tek tek yanyana oluşturma, ikincisi dosya altında tek seferde tümünü oluşturmaktır.

Tek tek yanyana oluşturma:

person.js

export const name = "Bill";
export const age = 19;

Dosya altında tek seferde oluşturma:

person.js

const name = "Bill";
const age = 19;
export {name, age};

Varsayılan İçe Aktarma (Default Exports)

Bir adı message.js olan başka bir dosya oluşturalım ve varsayılan çıkarmayı kullanarak onu gösterelim.

Bir dosyada sadece bir varsayılan çıkarma olabilir.

Örnek

message.js

const message = () => {
const name = "Bill";
const age = 19;
return name + ' is ' + age + 'years old.';
};
export default message;

İçe Aktarma

Modüllerin dosyalara nasıl içe aktarılacağı, adlandırılmış veya varsayılan çıkarmalı olmalarına bağlı olarak değişir.

Adlandırılmış çıkarmalar büyük parantezler kullanılarak oluşturulur. Varsayılan çıkarmalar değil.

Adlandırılmış çıkarmadan içe aktarma

person.js dosyasından adlandırılmış çıkarmayı içe aktarın:

import { name, age } from "./person.js";

Kişisel Deneyimleyin

Varsayılan çıkarmadan içe aktarma

message.js dosyasından varsayılan çıkarmayı içe aktarın:

import message from "./message.js";

Kişisel Deneyimleyin

Dikkat

Modüller yalnızca HTTP(s) protokolü için uygundur.

file:// protokolü ile açılan web sayfaları, içe aktarma/çıkarma kullanılamaz.