ความแตกต่างระหว่างโหนดเวอร์ชัน 14 และ 10: 1. เวอร์ชัน 10 หยุดใช้เอนจิ้น V8 ใน Chromium และใช้เวอร์ชัน 6.6 ของ V8 ในขณะที่ V8 ที่ใช้ในเวอร์ชัน 14 ได้รับการอัปเกรดเป็นเวอร์ชัน 8.1 2. เวอร์ชัน 14 สามารถใช้ "ES โมดูล" และไม่ มันจะแจ้งเตือน แต่ไม่สามารถใช้ในเวอร์ชัน 10 ได้
สภาพแวดล้อมการทำงานของบทความนี้: ระบบ Windows 10, เวอร์ชัน nodejs 10&&node 14, คอมพิวเตอร์ Dell G3
โหนด 10
vm: เพิ่มการสนับสนุนการนำเข้าแบบไดนามิก รองรับการนำเข้าแบบไดนามิก
อย่างไรก็ตาม โมดูล ES ยังอยู่ในช่วงทดลอง และไม่สามารถใช้การนำเข้า/ส่งออกโดยตรงในโค้ดได้ เว้นแต่ว่าจะเปิดการตั้งค่าสถานะทดลองไว้ หากคุณต้องการใช้ คุณยังคงต้องดูวิธีเขียนการนำเข้า ES6 ใน NodeJS
อัปเดต nghttp2 เป็น 1.34.0 ซึ่งจะเพิ่มการสนับสนุนโปรโตคอลการเชื่อมต่อแบบขยาย RFC 8441 เพื่ออนุญาตให้ใช้ WebSockets ผ่าน HTTP/2 อัปเดต nghttp2 เป็น 1.34.0 สิ่งนี้จะเพิ่มการรองรับ RFC 8441 Extended Connection Protocol เพื่ออนุญาตให้ใช้ WebSockets ผ่าน HTTP/2
โหนด 8 แนะนำโมดูล HTTP/2 รุ่นทดลอง ซึ่งเป็นการอัพเกรดที่ดีเป็นโหนด HTTP/2 ปรับปรุงโปรโตคอล HTTP มาตรฐาน ด้วยคุณสมบัติขั้นสูง เช่น มัลติเพล็กซ์ การเชื่อมต่อเดี่ยว การพุชของเซิร์ฟเวอร์ การบีบอัดส่วนหัว ฯลฯ คราวนี้ยังแก้ไขปัญหาด้านความปลอดภัยบางอย่างและเพิ่มการรองรับ websocket
การเพิ่มรหัสข้อผิดพลาด ข้อความแสดงข้อผิดพลาดในโหนดได้รับมาตรฐานแล้ว
n-api ไม่ใช่การทดลองอีกต่อไป [cd7d7b15c1] N-API ไม่ใช่คุณลักษณะทดลองอีกต่อไป
เอกสารประกอบของโหนดอธิบาย N-API ว่าเป็น API สำหรับการสร้างปลั๊กอินเนทิฟ ไม่ขึ้นอยู่กับรันไทม์ JavaScript พื้นฐาน (เช่น V8) และคงไว้ซึ่งเป็นส่วนหนึ่งของ Node.js เอง API นี้จะเป็น Application Binary Interface (ABI) ที่เสถียรในเวอร์ชัน Node.js ได้รับการออกแบบมาเพื่อป้องกัน Addons จากการเปลี่ยนแปลงในกลไก JavaScript พื้นฐาน และอนุญาตให้โมดูลที่คอมไพล์สำหรับเวอร์ชันหนึ่งสามารถทำงานบน Node.js เวอร์ชันใหม่กว่าได้โดยไม่ต้องคอมไพล์ใหม่
แพตช์ V8 เป็น 6.6.346.24 โหนดหยุดใช้เอนจิ้น V8 ใน Chromium และใช้เวอร์ชัน 6.6 ของ v8
ปรับปรุงการติดตามการวินิจฉัย Node 10 เพิ่มการติดตามเหตุการณ์เพื่อให้นักพัฒนามองเห็นแอปพลิเคชัน Node.js ของตนได้มากขึ้น เมื่อเริ่มต้นแอปพลิเคชันโหนด ให้เพิ่มพารามิเตอร์ --trace-event-categories เพื่อเปิด คุณสามารถเรียนรู้เพิ่มเติมได้ในเอกสารประกอบ
อัปเดต npm เป็น 6.14.3 อัปเดตเป็น NPM 6 แล้ว npm เวอร์ชันนี้เพิ่มการปรับปรุงต่างๆ ทั้งหมด รวมถึงประสิทธิภาพ ความปลอดภัย และความเสถียร
อัปเกรดซอร์ส openssl เป็น 1.1.1e โหนดมาพร้อมกับการสนับสนุนการเข้ารหัสที่ทันสมัยสำหรับการเข้ารหัส ChaCha20 และเครื่องรับรองความถูกต้อง Poly1305 ที่คาดหวังไว้สูง
fs: ลบคำเตือนการทดลองสำหรับ fs.promises fs สามารถใช้ Promises ได้โดยตรง และไม่จำเป็นต้องใช้ฟังก์ชัน util.promisify() สำหรับการแปลงเหมือนใน Node 8
const fs = need('fs'); const fsPromises = fs.promises;// อ่าน console.log แบบซิงโครนัส (fs.readFileSync ('temp.txt', 'utf8')); // การอ่านสัญญาทำให้รู้สึกสบายใจมากขึ้น ฟังก์ชัน async doRead() { la filehandle = null; try { filehandle = await fsPromises.open('temp.txt', 'r+'); ในที่สุด { if (filehandle) { // หากไฟล์เปิดอยู่ ให้ปิดไฟล์ รอ filehandle.close(); } }}doRead().catch(console.error);โหนด 14
โมดูล ECMAScript - การลบคำเตือนเชิงทดลอง
ใน Node.js 13 เราได้ลบความจำเป็นในการรวมแฟล็ก --experimental-modules แต่เมื่อรัน EcmaScript Modules ใน Node.js สิ่งนี้จะยังคงส่งผลให้เกิดคำเตือน ExperimentalWarning: ตัวโหลดโมดูล ESM อยู่ในขั้นทดลอง
เริ่มต้นจากโหนด 13 โมดูล ES สามารถใช้ได้โดยตรง แต่จะมีการแจ้งเตือนเกิดขึ้น หลังจากโหนด 14 โมดูล ES จะสามารถใช้งานได้โดยไม่มีสัญญาณเตือน
V8 อัปเกรดเป็น 8.1
ArrayBuffer ใช้ V8 ArrayBuffer API ใหม่
แหล่ง openssl อัปเดตเป็น 1.1.1
ตัวเลือกการเยื้องกลุ่มคอนโซล คอนโซลสามารถกำหนดค่าให้ยาวเกินสองช่องว่างได้
การเรียนรู้ที่แนะนำ: "วิดีโอสอน nodejs"
ข้างต้นคือเนื้อหาโดยละเอียดเกี่ยวกับความแตกต่างระหว่างโหนดเวอร์ชัน 14 และ 10 สำหรับข้อมูลเพิ่มเติม โปรดอ่านบทความอื่นๆ ที่เกี่ยวข้องบนเว็บไซต์นี้!