الفرق بين إصدارات العقدة 14 و10: 1. الإصدار 10 يتوقف عن استخدام محرك V8 في Chromium ويستخدم الإصدار 6.6 من V8، بينما تمت ترقية V8 المستخدم في الإصدار 14 إلى الإصدار 8.1. يمكن للإصدار 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 للسماح باستخدام WebSockets عبر HTTP/2.
تقدم Node 8 وحدة HTTP/2 تجريبية، وهي ترقية جيدة لـ Node. يعمل HTTP/2 على تحسين بروتوكول HTTP القياسي، مع ميزات متقدمة مثل تعدد الإرسال، والاتصال الفردي، ودفع الخادم، وضغط الرأس، وما إلى ذلك. وهذه المرة يعمل أيضًا على إصلاح بعض مشكلات الأمان وإضافة دعم websocket.
إضافة رموز الخطأ. أصبحت الآن رسائل الخطأ في Node موحدة.
لم يعد n-api تجريبيًا. لم تعد N-API ميزة تجريبية
تصف وثائق العقدة N-API بأنها واجهة برمجة التطبيقات (API) لبناء المكونات الإضافية الأصلية. وهو مستقل عن وقت تشغيل JavaScript الأساسي (مثل V8) ويتم الحفاظ عليه كجزء من Node.js نفسه. ستكون واجهة برمجة التطبيقات هذه بمثابة واجهة ثنائية للتطبيقات (ABI) مستقرة عبر إصدارات Node.js. إنه مصمم لعزل الوظائف الإضافية عن التغييرات في محرك 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 جميع التحسينات المتنوعة بما في ذلك الأداء والأمان والاستقرار
ترقية مصادر opensl إلى 1.1.1e. تأتي Node مزودة بدعم تشفير حديث لشفرة ChaCha20 المرتقبة وموثق Poly1305
fs: إزالة التحذير التجريبي لـ fs.promises. يمكن لـ fs استخدام الوعود مباشرةً، وليست هناك حاجة لاستخدام الدالة util.promisify() للتحويل كما هو الحال في Node 8.
const fs = require('fs'); const fsPromises = fs.promises;// القراءة المتزامنة console.log(fs.readFileSync('temp.txt', 'utf8'));// قراءة الوعد تبدو أكثر راحة. وظيفة غير متزامنة doRead() { Let filehandle = null; حاول { filehandle = Wait fsPromises.open('temp.txt', 'r+'); { if (filehandle) { // إذا كان الملف مفتوحًا، فأغلق الملف. انتظر filehandle.إغلاق(); } }}doRead().catch(console.error);العقدة 14
وحدات ECMAScript - إزالة التحذيرات التجريبية
في Node.js 13، أزلنا الحاجة إلى تضمين علامة --experimental-modules، ولكن عند تشغيل وحدات EcmaScript في Node.js، سيظل هذا يؤدي إلى تحذير ExperimentalWarning: محمل وحدة ESM تجريبي.
بدءًا من العقدة 13، يمكن استخدام وحدات ES مباشرة ولكن سيحدث إنذار بعد العقدة 14، يمكن استخدام وحدات ES بدون إنذار.
تمت ترقية V8 إلى 8.1
يستخدم ArrayBuffer واجهة برمجة التطبيقات V8 ArrayBuffer API الجديدة
تم تحديث مصادر openssl إلى 1.1.1
خيار المسافة البادئة لمجموعة وحدة التحكم. يمكن تكوين وحدة التحكم لتكون أطول من مسافتين.
التعلم الموصى به: "الفيديو التعليمي لـnodejs"
ما ورد أعلاه هو المحتوى التفصيلي للفرق بين إصدار العقدة 14 و10. لمزيد من المعلومات، يرجى الانتباه إلى المقالات الأخرى ذات الصلة على هذا الموقع!