ฉันกำลังเขียนโพสต์นี้เพราะ (ฉันคิดว่าฉันเหนื่อยมาก) ฉันไม่เข้าใจหรือไม่ MDN หรือคำอธิบายของคนอื่นและวิธีที่ดีที่สุดที่จะเข้าใจบางสิ่งบางอย่างคือการสอนให้คนอื่น เป็นเพียงฉันไม่เห็นคำตอบง่ายๆของคำถาม
"ค่าเริ่มต้นการส่งออก" ใน javascript คืออะไร
ในการส่งออกเริ่มต้นการตั้งชื่อของการนำเข้ามีความเป็นอิสระอย่างสมบูรณ์และเราสามารถใช้ชื่อใด ๆ ที่เราชอบ
ฉันจะอธิบายบรรทัดนี้ด้วยตัวอย่างง่ายๆ
สมมติว่าเรามี 3 โมดูลและ index.html:
- modul.js
- modul2.js
- modul3.js
- index.html
modul.js
export function hello() {
console.log("Modul: Saying hello!");
}
export let variable = 123;
modul2.js
export function hello2() {
console.log("Module2: Saying hello for the second time!");
}
export let variable2 = 456;
modul3.js
export default function hello3() {
console.log("Module3: Saying hello for the third time!");
}
index.html
<script type="module">
import * as mod from './modul.js';
import {hello2, variable2} from './modul2.js';
import blabla from './modul3.js'; //! Here is the important stuff - we name the variable for the module as we like
mod.hello();
console.log("Module: " + mod.variable);
hello2();
console.log("Module2: " + variable2);
blabla();
</script>
ผลลัพธ์คือ:
modul.js:2:10 -> Modul: Saying hello!
index.html:7:9 -> Module: 123
modul2.js:2:10 -> Module2: Saying hello for the second time!
index.html:10:9 -> Module2: 456
modul3.js:2:10 -> Module3: Saying hello for the third time!
ดังนั้นคำอธิบายที่ยาวกว่าคือ :
'การส่งออกเริ่มต้น' จะใช้หากคุณต้องการส่งออกสิ่งเดียวสำหรับโมดูล
ดังนั้นสิ่งที่สำคัญคือ "import blablaจาก './modul3.js'" - เราสามารถพูดแทน:
"นำเข้าpamelandersonจาก './modul3.js" และจากนั้น pamelanderson (); นี้จะทำงานได้ดีเมื่อเราใช้ 'เริ่มต้นการส่งออกและพื้นนี้ก็คือ - มันช่วยให้เราสามารถตั้งชื่อมันว่าสิ่งที่เราชอบเมื่อมันเป็นค่าเริ่มต้น
ปล. หากคุณต้องการทดสอบตัวอย่าง - สร้างไฟล์ก่อนจากนั้นอนุญาตCORSในเบราว์เซอร์ -> ถ้าคุณใช้ประเภท firefox ใน url ของเบราว์เซอร์: about: config -> ค้นหา "privacy.file_unique_origin" -> change เป็น "false" -> open index.html -> กด F12 เพื่อเปิดคอนโซลและดูผลลัพธ์ -> สนุกและอย่าลืมคืนค่า cors กลับไปเป็นค่าเริ่มต้น
Ps2 ขออภัยสำหรับการตั้งชื่อตัวแปรโง่ ๆ
ข้อมูลเพิ่มเติม @
link2medium , link2mdn1 , link2mdn2