Başlıksız olarak tam olarak ithalat ve ihracat yapmanın ne olduğu konusunda herhangi bir açıklama bulunmamaktadır. Birisi içe aktarmayı salt okunur bir görünüm olarak tanımlar. Aşağıdaki kodu kontrol ederek iki modül aynı sayaç modülü ve ilk modül artışı sayacı içe eğeres6 salt okunur şekilde anlaşmayı anlama
// lib/counter.js
export let counter = 1;
export function increment() {
counter++;
}
export function decrement() {
counter--;
}
// src/main.js
import * as counter from '../../counter';
console.log(counter.counter); // 1
counter.increment();
console..log(counter.counter); // 2
Sorum şu, artırılır ikinci modül ayrıca sayaç görecek? Kapağın altında "ithalat" ve "ihracat" ne yapıyor? Artırma işlevi hangi bağlamda yürütülür? Arttırma fonksiyonunun değişken nesnesi nedir?
// lib/counter.js
export let counter = 1;
export function increment() {
counter++;
}
export function decrement() {
counter--;
}
// src/main1.js
import * as counter from '../../counter';
console.log(counter.counter); // 1
counter.increment();
console..log(counter.counter); // 2
// src/main2.js
import * as counter from '../../counter';
console.log(counter.counter); // what is the result of this, 1 or 2?
O "ihracat" farklı modüllerin ulaşılabilir küresel nesne yaratıyor ve bu nesne ihraç fonksiyonun bağlamını ayarlıyor geliyor bana. Bu durumda, tasarım benim için kablolu, çünkü modüller diğer modüllerin ne yaptığının farkında değil. Eğer iki modül aynı modülü (sayaç) ithal ediyorsa, bir modül değer (sayaç) değişmesine neden olan arttırma fonksiyonunu (yukarıdaki örnek) çağırır, diğer modül bunu bilmez.
Anlaşılan sende olmayan okumak http://exploringjs.com/es6/ch_modules.html veya https://hacks.mozilla.org/2015/08/es6-in-depth-modules/ – Bergi