تم إصدار Node.js v20.6 بميزات جديدة مذهلة تعد جزءًا من إصدارات LTS اعتبارًا من 24 أكتوبر 2023. دعونا نرى!
قل وداعًا لحزمة dotenv، الآن يمكن لـ Node.js تحميل متغيرات البيئة من ملف .env.
node --env-file path/to/.env index.js
؟ المسار إلى ملف INI مطلوب لأن Node.js لم يختر اسمًا افتراضيًا لملف INI.
؟ إذا كان ملف INI غير موجود، فلن تفشل عملية العقدة، فقط ابدأ التشغيل بدون متغيرات البيئة.
يمكنك تحميل متغيرات البيئة الخاصة بـ Node.js (مثل NODE_OPTIONS) باستخدام ملف تكوين INI مثل المثال التالي:
NODE_NO_WARNINGS=1 NODE_OPTIONS="--experimental-permission --allow-fs-read=*" TZ=Pacific/Honolulu UV_THREADPOOL_SIZE=5
يمكنك استخدام هذا بنفس الطريقة:
node --env-file .env index.js
تحميل وحدات ES مسبقًا عند بدء التشغيل باستخدام علامة --import، سيتم تحميل الوحدة قبل تشغيل أي رمز تطبيق، حتى نقطة الإدخال.
node --import path/to/file.js index.js
تشبه هذه العلامة العلامة --require المعروفة المستخدمة لتحميل وحدات CommonJS.
؟ سيتم تشغيل الوحدات المحملة مسبقًا بـ --require قبل الوحدات المحملة مسبقًا بـ --import.
لدينا آلية جديدة لتقييد الوصول إلى موارد محددة أثناء تنفيذ عملية Node.js تسمى نموذج الإذن. توجد واجهة برمجة التطبيقات خلف علامة --الإذن التجريبي، والتي، عند تمكينها، ستقيد الوصول إلى جميع الموارد غير المسموح بها صراحة.
تسمح علامة --allow-fs-read بجميع عمليات FileSystemRead باستخدام *، أو إلى مسارات محددة باستخدام المسارات المطلقة.
node --experimental-permission --allow-fs-read=* index.js
للسماح بالوصول إلى مسارات محددة فقط، يجب عليك استخدام المسارات المطلقة
node --experimental-permission --allow-fs-read=/path/to/index.js --allow-fs-read=/path/to/directory index.js
؟ يجب أيضًا السماح بوحدة التهيئة. وإلا فلا يمكن تحميل ملف Index.js بواسطة عملية Node.js نفسها.
؟ يمكنك استخدام . للسماح بالوصول إلى دليل العمل، ولكن لا يمكنك استخدامه لتحديد المسار إلى ملف (على سبيل المثال ./index.js).
node --experimental-permission --allow-fs-read=. index.js
تسمح العلامة --allow-fs-write بالوصول إلى مسارات محددة أو نظام الملفات بأكمله باستخدام *.
node --experimental-permission --allow-fs-read=. --allow-fs-write=/tmp/ index.js
عند تمكين نموذج الإذن، لن تتمكن العملية من إنتاج أي عملية فرعية بشكل افتراضي، يجب عليك استخدام --allow-child-process للسماح بهذه العملية. دعونا نستخدم الكود التالي لـ Index.js.
const childProcess = require('node:child_process'); childProcess.spawn('node', ['-e', 'require("fs").writeFileSync("./new-file.txt", "Hello, World!")']);
لتشغيل هذا المقتطف مع تمكين نموذج الإذن، يجب عليك تنفيذ ملف Index.js باستخدام الأمر التالي:
node --experimental-permission --allow-fs-read . --allow-child-process index.js
؟ لا ترث العملية الفرعية نموذج الإذن بشكل افتراضي، ولهذا السبب تم إنشاء ملف new-file.txt بنجاح.
يمكنك التحقق من علامة --allow-worker إذا كنت تريد إنشاء سلاسل عمليات عاملة ضمن نموذج الإذن هذا و --allow-wasi للسماح بإنشاء مثيلات WASI
لدينا الكثير من الأدوات الجديدة لتحميل متغيرات البيئة لتطبيقنا، وطريقة لاستيراد وحدات ES المحملة مسبقًا المطلوبة في التعليمات البرمجية الخاصة بنا ونموذج إذن جديد لزيادة أمان أنظمتنا.
تابع مدونة Node.js، هذا الفريق يضيف ميزات رائعة في كل إصدار! لدينا دعم أولي لـ TypeScript وفحص الشبكة باستخدام DevTools في الإصدار 22.6.0.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3