Node.js ประกาศ LTS รุ่นแรกที่เปิดใช้ "require(esm)"
(socket.dev)เปิดใช้ require(esm) เป็นค่าเริ่มต้น
- เปิดตัว Node.js 22.12.0 ('Jod') เวอร์ชัน LTS โดยเปิดใช้ความสามารถ
require(esm)เป็นค่าเริ่มต้น- ไม่จำเป็นต้องใช้แฟลก
--experimental-require-moduleอีกต่อไป - สามารถใช้
require()เพื่อโหลด native ES modules ได้แล้ว
- ไม่จำเป็นต้องใช้แฟลก
- เบื้องหลังของความสามารถนี้:
- เพื่อเร่งการนำ ES modules (ESM) มาใช้งาน โดยยังคงความเข้ากันได้สำหรับผู้ใช้ CommonJS (CJS)
- ช่วยให้รองรับ native ESM ในโค้ดปลั๊กอินได้ง่ายขึ้น และสนับสนุนกระบวนการเปลี่ยนผ่านของเฟรมเวิร์กและเครื่องมือต่างๆ
- ข้อควรรู้สำหรับนักพัฒนา:
- เมื่อโหลดด้วย
require()จะไม่เกิดข้อผิดพลาดERR_REQUIRE_ESMอีกต่อไป - อย่างไรก็ตาม หากโมดูลมี
top-level awaitอาจเกิดข้อผิดพลาดERR_REQUIRE_ASYNC_MODULEได้ - ข้อความเตือนจะแสดงเมื่อโมดูลไม่ได้ถูกโหลดจากพาธ node_modules
- เมื่อโหลดด้วย
เพิ่มความเร็วการรีลีสด้วยกระบวนการอัตโนมัติ
- ตั้งแต่ปี 2023 ได้ผลักดันการทำให้กระบวนการรีลีสเป็นอัตโนมัติ และในช่วงไม่กี่เดือนที่ผ่านมาได้ทำงานที่เกี่ยวข้องกับ security release ให้เป็นอัตโนมัติเพื่อเพิ่มประสิทธิภาพ
- ความสามารถใหม่:
- เพิ่มแฟลก
--releaseDateและ--yesเพื่อทำให้ release workflow เรียบง่ายขึ้น - เพิ่มความสามารถในการใส่เมทาดาทา CVE-ID ลงใน changelog ของ security release โดยอัตโนมัติ
- เพิ่มแฟลก
- การเปลี่ยนแปลงนโยบายการรีลีส:
- ตั้งแต่ Node.js 24 เป็นต้นไป ทุก major release จะต้องมี "ช่วงเบกกิง" 1 เดือนเพื่อความเสถียร
เสริมความแข็งแกร่งด้านความปลอดภัย
- รายงานด้านความปลอดภัยลดลง:
- ในช่วงเดือนตุลาคมถึงพฤศจิกายน 2024 มีการรายงานปัญหาด้านความปลอดภัยรวม 10 รายการ ซึ่งเป็นสถิติต่ำสุดเป็นประวัติการณ์
- รายละเอียดรายงาน: สแปม (1), ใช้ไม่ได้จริง (4), เพื่ออ้างอิง (2), ปัญหาใหม่ (2), จัดหมวดหมู่เสร็จสิ้น (1)
- ผลของการปรับปรุง:
- นโยบายความปลอดภัยใหม่มีส่วนช่วยเสริมการปกป้องระบบให้แข็งแกร่งขึ้น
- เวิร์กโฟลว์อัตโนมัติช่วยให้การเสนอรีลีส การอัปเดตแบนเนอร์บนเว็บไซต์ และการจัดการบล็อกโพสต์ง่ายขึ้น
- การพัฒนาเพิ่มเติม:
- การเพิ่มเมทาดาทา CVE-ID ลงใน changelog โดยอัตโนมัติช่วยปรับปรุงความเร็วของ security release
ประเด็นสำคัญ
- การเปิดใช้
require(esm)เป็นค่าเริ่มต้นถือเป็นก้าวสำคัญในการลดช่องว่างระหว่าง CommonJS กับ ES modules และจะช่วยให้นักพัฒนาทำ JavaScript สมัยใหม่ที่ทำงานร่วมกันได้สะดวกยิ่งขึ้น - Node.js ยังคงพัฒนาต่อเนื่องทั้งด้านประสิทธิภาพ ความปลอดภัย และความยืดหยุ่นของ ecosystem พร้อมช่วยเสริมอิทธิพลระดับโลกของภาษาและแพลตฟอร์ม JavaScript
ยังไม่มีความคิดเห็น