มีประโยชน์ด้านประสิทธิภาพการใช้หนึ่งมากกว่าอีก
คำตอบปัจจุบันคือไม่เพราะไม่มีเบราว์เซอร์เอ็นimport/exportจิ้นปัจจุบันที่ใช้จากมาตรฐาน ES6
ชาร์ตเปรียบเทียบบางตัวhttp://kangax.github.io/compat-table/es6/อย่านำสิ่งนี้ไปพิจารณาดังนั้นเมื่อคุณเห็นเกือบทุกสนามสำหรับ Chrome โปรดระวัง importคำหลักจาก ES6 ยังไม่ได้รับการพิจารณา
เครื่องมือเบราว์เซอร์ปัจจุบันรวมถึง V8 ไม่สามารถนำเข้าไฟล์ JavaScript ใหม่จากไฟล์ JavaScript หลักผ่านทางคำสั่ง JavaScript ใด ๆ
(เราอาจจะยังห่างกันไม่กี่ข้อหรือหลายปีจนกว่า V8 จะดำเนินการตามข้อกำหนด ES6)
เอกสารนี้เป็นสิ่งที่เราต้องการและเอกสารนี้เป็นสิ่งที่เราต้องเชื่อฟัง
และมาตรฐาน ES6 บอกว่าควรมีการพึ่งพาโมดูลก่อนที่เราจะอ่านโมดูลเช่นในภาษาการเขียนโปรแกรม C ที่เรามี (ส่วนหัว) .hไฟล์
นี่เป็นโครงสร้างที่ดีและผ่านการทดสอบมาอย่างดีและฉันมั่นใจว่าผู้เชี่ยวชาญที่สร้างมาตรฐาน ES6 นั้นจะต้องคำนึงถึง
นี่คือสิ่งที่ช่วยให้ Webpack หรือแพคเกจแพ็คเกจอื่น ๆ ปรับบันเดิลในบางกรณีพิเศษและลดการพึ่งพาบางอย่างจากบันเดิลที่ไม่จำเป็น แต่ในกรณีที่เรามีการพึ่งพาที่สมบูรณ์แบบสิ่งนี้จะไม่เกิดขึ้น
จะต้องใช้เวลาสักครู่จนกว่าimport/exportการสนับสนุนดั้งเดิมจะพร้อมใช้งานและrequireคำหลักจะไม่ไปที่ใดก็ได้เป็นเวลานาน
คือrequireอะไร
นี่เป็นnode.jsวิธีโหลดโมดูล ( https://github.com/nodejs/node )
โหนดใช้วิธีการระดับระบบเพื่ออ่านไฟล์ requireคุณพื้นพึ่งพาว่าเมื่อใช้ requireจะสิ้นสุดในการเรียกของระบบบางอย่างเช่นuv_fs_open(ขึ้นอยู่กับระบบปลายทาง, Linux, Mac, Windows) เพื่อโหลดไฟล์ / โมดูล JavaScript
หากต้องการตรวจสอบว่าเป็นความจริงพยายามที่จะใช้ Babel.js และคุณจะเห็นได้ว่าคำหลักจะถูกแปลงเป็นimportrequire

node --experimental-modules index.mjsให้คุณใช้importโดยไม่ใช้Babel และทำงานใน Node 8.5.0+ คุณสามารถ (และควร) เผยแพร่แพคเกจ npm ของคุณเป็น ESModule ดั้งเดิมพร้อมความเข้ากันได้แบบย้อนหลังสำหรับrequireวิธีเก่า