Node.js เป็นสภาพแวดล้อมรันไทม์ข้ามแพลตฟอร์ม โอเพ่นซอร์ส เลเยอร์เซิร์ฟเวอร์ที่ใช้ภาษาการเขียนโปรแกรม JavaScript แบบอะซิงโครนัส พร้อมข้อมูล I/O ในสถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ และอิงตาม V8 Node.js engine Google
ดิ การเปิดตัวเวอร์ชันใหม่ของ Node.js 20.0 ซึ่งเป็นเฟรมเวิร์กสำหรับการเรียกใช้แอปพลิเคชันเครือข่ายใน JavaScript Node.js 20.0 รุ่นใหม่นี้ถูกกำหนดให้กับสาขาการสนับสนุนแบบยาว แต่สถานะนี้จะไม่ถูกกำหนดจนกว่าจะถึงเดือนตุลาคม หลังจากการรักษาเสถียรภาพ
สำหรับผู้ที่ยังใหม่กับแพลตฟอร์ม Node.js คุณควรทราบว่าสามารถใช้ทั้งสำหรับการดูแลเว็บแอปพลิเคชันเซิร์ฟเวอร์และสำหรับการสร้างไคลเอนต์ปกติและโปรแกรมเครือข่ายเซิร์ฟเวอร์
เพื่อขยายฟังก์ชันการทำงานของแอปพลิเคชันสำหรับ Node.js ได้มีการเตรียมชุดโมดูลจำนวนมาก ซึ่งคุณสามารถค้นหาโมดูลที่มีการปรับใช้เซิร์ฟเวอร์และไคลเอ็นต์
คุณสมบัติใหม่หลักของ Node.js 20.0
ใน Node.js 20.0 รุ่นใหม่นี้ เครื่องยนต์ V8 ได้รับการอัปเดตเป็นเวอร์ชัน 11.3 ที่ใช้ใน Chromium 113 ซึ่งมีการเปลี่ยนแปลงหลายอย่างเมื่อเทียบกับสาขาที่ใช้เครื่องยนต์ Chromium 107 ฟังก์ชันต่างๆ String.prototype.isWellFormed และ toWellFormed, Array.prototype และ TypedArray.prototype พึ่งพา วิธีการทำงานกับสำเนาในการเปลี่ยนแปลงวัตถุ Array และ TypedArray, v flag ใน RegExp, รองรับการปรับขนาด ArrayBuffer และเพิ่มขนาดของ SharedArrayBuffer, การเรียกครั้งสุดท้ายใน WebAssembly
การเปลี่ยนแปลงอีกอย่างที่โดดเด่นในเวอร์ชันใหม่ก็คือ มีการเสนอกลไกแบบจำลองการอนุญาตการทดลอง นี้ อนุญาตให้คุณจำกัดการเข้าถึงทรัพยากรบางอย่างในระหว่างการดำเนินการ. เปิดใช้งานการสนับสนุนสำหรับรูปแบบการอนุญาตโดยระบุแฟล็ก "--การทดลองอนุญาต" เมื่อคุณวิ่ง
นอกจากนี้ ยังเน้นย้ำใน Node.js 20.0 ว่า ไดรเวอร์สำหรับโมดูล ECMAScript ภายนอก (ESM) เรียกเก็บเงินผ่านตัวเลือก “–ตัวโหลดทดลอง” ตอนนี้ทำงานบนเธรดแยกต่างหาก แยกจากเธรดหลัก ซึ่งช่วยลดจุดตัดกันของรหัสแอปพลิเคชันและโมดูล ESM ที่โหลด เช่นเดียวกับเบราว์เซอร์ ตอนนี้เมธอด import.meta.resolve() ทำงานพร้อมกันเมื่อเรียกจากแอปพลิเคชัน ใน Node.js สาขาใดสาขาหนึ่งที่กำลังจะมาถึง การสนับสนุนโหลด ESM มีแผนที่จะย้ายไปยังหมวดหมู่คุณสมบัติที่เสถียร
นอกจากนี้ยังมีการเน้นย้ำว่า มีการจัดตั้งทีมการแสดง แยกจากกัน เพื่อเตรียมความพร้อมสำหรับสาขาใหม่ เนื่องจากทำงานเพื่อเพิ่มความเร็วคอมโพเนนต์รันไทม์ต่างๆ รวมถึงการแยกวิเคราะห์ URL, fetch() และ EventTarget ตัวอย่างเช่น ค่าใช้จ่ายในการเริ่มต้นของ EventTarget ลดลงครึ่งหนึ่ง ประสิทธิภาพของเมธอด URL.canParse() ได้รับการปรับปรุงอย่างมีนัยสำคัญ และประสิทธิภาพของตัวจับเวลาได้รับการปรับปรุง นอกจากนี้ แพ็คเกจยังมีการเปิดตัวตัวแยกวิเคราะห์ URL ที่มีประสิทธิภาพสูง: Ada 2.0 ซึ่งเขียนด้วยภาษา C++
ในทางกลับกันก็เน้นว่า การพัฒนาฟังก์ชันการทดลองยังคงดำเนินต่อไป เพื่อส่งแอปพลิเคชันในรูปแบบของไฟล์ปฏิบัติการไฟล์เดียว (เอเชียตะวันออกเฉียงใต้, แอ็พพลิเคชันปฏิบัติการเดียว). การสร้างไฟล์ปฏิบัติการจำเป็นต้องแทนที่ blob ที่สร้างจากไฟล์การกำหนดค่า JSON (แทนที่จะแทนที่ไฟล์ JavaScript)
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่:
- ในการใช้งานครั้งแรก มีการเสนอตัวเลือกเพื่อจำกัดการเข้าถึงการเขียน (–allow-fs-write) และการอ่าน (–allow-fs-read) ในบางส่วนของ FS, กระบวนการย่อย (–allow-child-process), การเพิ่ม ( - -no-addons) และเธรด (–allow-worker)
- โมดูล node:test (test_runner) ออกแบบมาเพื่อสร้างและเรียกใช้การทดสอบ JavaScript ที่ส่งคืนผลลัพธ์ในรูปแบบ Test Anything Protocol (TAP) ถูกย้ายไปยังเวอร์ชันเสถียรแล้ว
ปรับปรุงความเข้ากันได้ของ Web Crypto API กับการใช้งานจากโครงการอื่นๆ
เพิ่มการสนับสนุนอย่างเป็นทางการสำหรับ Windows บนระบบ ARM64 - การสนับสนุนอย่างต่อเนื่องสำหรับส่วนขยาย WebAssembly System Interface (WASI) สำหรับการสร้างแอปพลิเคชัน WebAssembly แบบสแตนด์อโลน ลบความจำเป็นในการระบุแฟล็กบรรทัดคำสั่งพิเศษเพื่อเปิดใช้งานการสนับสนุน WASI
สุดท้าย sหากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียดได้ใน ลิงค์ต่อไปนี้
Node.js 20.x จะได้รับการสนับสนุนจนถึงวันที่ 30 เมษายน 2026 Node.js สาขา LTS 18.x ที่เก่ากว่าจะได้รับการสนับสนุนจนถึงเดือนเมษายน 2025 และสาขา LTS 16.x ที่เก่ากว่าจนถึงเดือนกันยายน 2023
จะติดตั้ง Node.JS บน Linux ได้อย่างไร?
สำหรับผู้ที่สนใจจะติดตั้ง Node.JS เวอร์ชันใหม่นี้ ก็ควรทราบว่าขั้นตอนนั้นค่อนข้างง่าย พวกเขาต้องเปิดเทอร์มินัลในระบบและในนั้นพวกเขาจะพิมพ์หนึ่งในคำสั่งต่อไปนี้ขึ้นอยู่กับ distro ของคุณ
ในกรณีของผู้ที่เป็นผู้ใช้ Debian, Ubuntu และอนุพันธ์ พวกเขาต้องพิมพ์สิ่งต่อไปนี้:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
ในขณะที่สำหรับผู้ที่เป็นผู้ใช้ Arch Linux, Manjaro, Arco Linux หรืออนุพันธ์อื่น ๆ ของ Arch:
sudo pacman -S nodejs npm
สำหรับผู้ที่ใช้ Fedora, RHEL, Centos และอนุพันธ์:
sudo dnf -i nodejs npm
สุดท้าย วิธีอื่นในการติดตั้ง Node.js มาจากแพ็คเกจ Snap และสำหรับวิธีนี้ก็เพียงพอแล้วที่จะดำเนินการคำสั่งต่อไปนี้:
sudo snap install node --classic