الفرق بين المراجعتين لصفحة: «Node.js/cli»
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 454: | سطر 454: | ||
== مصادر == | == مصادر == | ||
* [https://nodejs.org/dist/latest-v10.x/docs/api/cli.html صفحة Command Line Options في توثيق Node.js الرسمي.] | * [https://nodejs.org/dist/latest-v10.x/docs/api/cli.html صفحة Command Line Options في توثيق Node.js الرسمي.] | ||
[[تصنيف:Node.js]] | [[تصنيف:Node.js|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 11:14، 23 أكتوبر 2018
يتوافر العديد من خيارات سطر الأوامر التي يمكن استعمالها مع Node.js. تُستعمَل هذه الخيارات في تنقيح أخطاء الشيفرة، والتحكم في كيفيَّة تنفيذ الشيفرة، وغيرها من الأمور المفيدة.
يمكن عرض هذا التوثيق في الطرفيَّة عبر استعمال الأمر man node
.
البنية العامة
node [options] [V8 options] [script.js | -e "script" | -] [--] [arguments]
node debug [script.js | -e "script" | <host>:<port>] …
node --v8-options
إنَّ تنفيذ node
دون أيَّة وسائط يؤدي إلى بدئها مع الوحدة REPL.
لمزيدٍ من المعلومات حول node debug
، راجع رجاءً التوثيق «منقح الأخطاء».
الخيارات
-
أضيف في الإصدار v8.0.0.
هو اسمٌ بديلٌ لمجرى الدخل القياسي (stdin)، وهو مماثلٌ لاستعمال -
في الأدوات الأخرى لسطر الأوامر. استعمال هذا الخيار يشير إلى أنَّ السكربت سيُقرأ من مجرى الدخل القياسي وستُمرَّر بقية الخيارات إلى ذلك السكربت.
--
أضيف في الإصدار v6.00.0.
يشير هذا الخيار إلى نهاية خيارات node
، إذ ستُمرَّر بقيَّة الخيارات التي بعده إلى السكربت. إن لم يُعطَ أيُّ اسمٍ لسكربت، أو لم يُعطَ الأمر eval
أو الأمر print
قبل هذا الخيار، فسيُستعمَل حينئذٍ الوسيط الذي يلي هذا الخيار اسمًا للسكربت.
--abort-on-uncaught-exception
أضيف في الإصدار v0.10.
تتسبَّب مقاطعة العمليَّة بدلًا من الخروج الطبيعي منها في توليد ملف من أجل التحليل التشريحي (post-mortem analysis) باستعمال منقح أخطاء (مثل lldb
، و gdb
، و mdb
).
إن أعطيت هذه الراية، فلا يزال بالإمكان ضبط السلوك لتفادي عدم حصول مقاطعة عبر استعمال التابع process.setUncaughtExceptionCaptureCallback()
(وعبر استعمال الوحدة domain
التي تستعمله).
--enable-fips
أضيف في الإصدار v6.0.0.
يفعِّل هذا الخيار التشفير المتوافق مع FIPS عند بدء التشغيل (هذا يتطلب أن تكون Node.js منشأة مع ./configure --openssl-fips
).
--experimental-modules
أضيف في الإصدار v8.5.0.
يفعِّل هذا الخيار دعم الوحدة ES التجريبي ووحدات التخزين (caching).
--experimental-repl-await
أضيف في الإصدار v10.0.0.
يفعِّل هذا الخيار دعم الكلمة المفتاحية await
التجريبيَّة ذات المستوى الأعلى في REPL.
--experimental-vm-modules
أضيف في الإصدار v9.6.0.
يفعِّل هذا الخيار دعم الوحدة ES التجريبي في الوحدة vm.
--experimental-worker
أضيف في الإصدار v10.5.0.
يفعِّل هذا الخيار خيوط العمليَّة العاملة التجريبية باستعمال الوحدة worker_thread
.
--force-fips
أضيف في الإصدار v6.0.0.
يفرض هذا الخيار تفعيل التشفير المتوافق مع FIPS عند بدء التشغيل (يشبه الخيار --enable-fips
تمامًا باستثناء أنَّه لا يمكن تعطيله من السكربت).
--icu-data-dir=file
أضيف في الإصدار v0.11.15.
يحدِّد هذا الخيار مسار تحميل بيانات ICU. (استُبدل به الخيار NODE_ICU_DATA
.)
--inspect-brk[=[host:]port]
أضيف في الإصدار v7.6.0.
يفعِّل هذا الخيار مراقبًا (inspector) على host:port
وفاصلًا (break) عند بداية سكربت المستخدم. قيمة host:port
الافتراضية هي 127.0.0:9229
.
--inspect-port=[host:]port
أضيف في الإصدار v7.6.0.
يضبط هذا الخيار host:port
ليُستخدم عندما يُفعَّل المراقب. هذا الخيار مفيدٌ عند تفعيل المراقب عبر إرسال الإشارة SIGUSR1.
قيمة host
الافتراضيَّة هي: 127.0.0.1
.
--inspect[=[host:]port]
أضيف في الإصدار v6.3.0.
يفعِّل هذا الخيار مراقبًا على host:port
. قيمة host:port
الافتراضيَّة هي: 127.0.0.1:9229
.
يسمح المراقب V8 المدمج لأدواتٍ مثل Chrome DevTools و IDEs بتنقيح أخطاء نسخ Node.js وكتابة تقرير مختصر عنها. ترتبط الأدوات بنسخ Node.js عبر منفذ TCP وتتواصل باستعمال بروتوكول Chrome DevTools.
--napi-modules
أضيف في الإصدار v7.10.0.
يمثِّل هذا الخيار العمليَّة no-op (عمليَّة فارغة [no operation])، إذ أوجد من أجل التوافقيَّة.
--no-deprecation
أضيف في الإصدار v0.8.0.
يخفي هذا الخيار تحذيرات الإهمال.
--no-force-async-hooks-checks
أضيف في الإصدار v9.0.0.
يعطِّل هذا الخيار التحققات التي تجرى أثناء التشغيل (runtime) من أجل الوحدة async_hooks
. ستبقى هذه التحقيقات فعَّالة ديناميكيًّا عندما تفعَّل الوحدة async_hooks
.
--no-warnings
أضيف في الإصدار v6.0.0.
إخفاء جميع تحذيرات العمليات (من ضمنها تحذيرات الإهمال).
--openssl-config=file
أضيف في الإصدار v6.9.0.
يحدِّد هذا الخيار ملف ضبط openSSL المراد تحميله عند بدء التشغيل. ولهذا الخيار استخدامات أخرى أيضًا منها تفعيل التشفير المتوافق مع FIPS إن أنشئت Node.js مع ./configure --openssl-fips
.
--pending-deprecation
أضيف في الإصدار v8.0.0.
يطلق هذا الخيار تحذيرات قيد الإهمال (pending depreciation).
تحذيرات قيد الإهمال مماثلة عمومًا لتحذيرات إهمال وقت التشغيل باستثناء أنَّ الأولى تُعطَّل افتراضيًّا ولن تُطلَق إلا إذا استعملت الراية --pending-deprecation
أو متغير البيئة NODE_PENDING_DEPRECATION=1
. تُستعمَل تحذيرات قيد الإهمال لتوفير آلية انتقائيَّة لإطلاق «تحذيرات مبكرة» يمكن أن يستغلها المطورين لإكتشاف الواجهات البرمجيَّة المهملة.
--preserve-symlinks
أضيف في الإصدار v6.3.0.
يوجِّه هذا الخيار محمِّل الوحدة (module loader) إلى أن يحفظ الوصلات الرمزيَّة (symbolic links) عند استبيان وتخزين الوحدات.
عندما تُحمِّل Node.js وحدةً من مسار يعدُّ وصلةً رمزيَّة تشير إلى موقع مختلف في القرص، فستتعقب Node.js الوصلة وتستعمل المسار الحقيقي الموجود على القرص للوحدة كمُعرَّف وكمسار جذر لتحديد الوحدات التابعة (dependency modules) الأخرى. في أغلب الحالات، يكون هذا السلوك الافتراضي مقبولًا. على أي حال، عند استعمال توابع الند (peer dependencies) المرتبطة بوصلة رمزيَّة -كما موضح في المثال التالي-، سيرمي السلوك الافتراضي استثناءً إن حاولت الوحدة moduleA
طلب الوحدة moduleB
كتابع ند:
{appDir}
├── app
│ ├── index.js
│ └── node_modules
│ ├── moduleA -> {appDir}/moduleA
│ └── moduleB
│ ├── index.js
│ └── package.json
└── moduleA
├── index.js
└── package.json
تعمل الراية --preserve-symlinks
على توجيه Node.js لاستعمال مسار الوصلة الرمزيَّة للوحدات بشكل معاكس للمسار الحقيقي مما يساعد على إيجاد توابع الند المرتبطة رمزيًّا.
انتبه إلى أنَّ لاستعمال الراية --preserve-symlinks
تأثيرات جانبيَّة؛ على وجه التحديد، من الممكن أن يفشل تحميل الوحدات الصرفة المرتبطة رمزيًّا إن رُبطت هذه الوحدات من أكثر من موقع واحد في شجرة الاعتماديات (dependency tree)، إذ سترى Node.js هذه الوحدات على أنَّها وحدات منفصلة تمامًا وستحاول تحميلها مما يؤدي إلى تحميل نفس الوحدة عدَّة مرات ورمي استثناءٍ نتيجةً لذلك.
لا تُطبَّق الراية --preserve-symlinks
على الوحدة الرئيسية التي تسمح بعمل node --preserve-symlinks node_module/.bin/<foo>
. لتطبيق السلوك نفسه على الوحدة الرئيسية، ارجع إلى الخيار --preserve-symlinks-main
.
--preserve-symlinks-main
أضيف في الإصدار v10.2.0.
يأمر هذا الخيار محمِّل الوحدة (module loader) بحفظ الوصلات الرمزية (symbolic links) عند استبيان وتخزين الوحدة الرئيسية (عبر require.main).
تتقيد الوحدة الرئيسيَّة عند استعمال هذا الخيار بتطبيق نفس السلوك الذي يطبَّق عند استعمال الخيار --preserve-symlinks
على جميع الاستيرادات الأخرى. فصلت هاتان الرايتان (الراية --preserve-symlinks
والراية --preserve-symlinks-main
) من أجل التوافقيَّة الرجوعيَّة (backward compatibility) مع إصدارات Node.js السابقة.
انتبه إلى أنَّ استعمال الخيار --preserve-symlinks-main
لا يعني استعمال الخيار --preserve-symlinks
ضمنيًا، إذ من المفترض أنَّ الخيار --preserve-symlinks-main
سيُستخدَم بالإضافة إلى الخيار --preserve-symlinks
عندما لا يُرغَب بتتبع الوصلة الرمزيَّ قبل استبيان المسارات النسبيَّة (relative paths).
انظر أيضًا الخيار --preserve-symlinks
في الأعلى للمزيد من المعلومات.
--prof
أضيف في الإصدار v2.0.0.
يولِّد هذا الخيار مخرجات المحلِّل V8.
--prof-process
أضيف في الإصدار v5.2.0.
يعالج هذا الخيار مخرجات المحلِّل V8 المولَّدة باستعمال الخيار --prof
.
--redirect-warnings=file
أضيف في الإصدار v8.0.0.
يضع هذا الخيار تحذيرات العمليات في الملف المُحدَّد عوضًا عن إرسالها إلى مجرى الخطأ القياسي. سيُنشَأ الملف إن لم يكن موجودًا من قبل، وستضاف التحذيرات إلى نهايته إن كان موجودًا مسبقًا. إن حصل أي خطأ أثناء كتابة التحذير على ذلك الملف، فسيُرسل هذا التحذير إلى مجرى الخطأ القياسي.
--throw-deprecation
أضيف في الإصدار v0.11.14.
يرمي هذا الخيار خطأً إن كانت الواجهة البرمجيَّة المستعملة مهملة.
--title=title
أضيف في الإصدار v10.7.0.
يضبط هذا الخيار الخاصِّيَّة process.title
عند بدء التشغيل.
--tls-cipher-list=list
أضيف في الإصدار v4.0.0.
يحدَّد هذا الخيار بديلًا افتراضيًّا لقائمة التشفير TLS، وهذا يتطلب أن تكون Node.js قد بُنيَت مع دعم افتراضي للوحدة crypto.
--trace-deprecation
أضيف في الإصدار v0.8.0.
يطبع هذا الخيار تعقبات المكدِّس (stack traces) من أجل الواجهات البرمجيَّة المهملة.
--trace-event-categories
أضيف في الإصدار v7.7.0.
يحدِّد هذا الخيار قائمةً من التصنفيات المفصولة بفاصلة والتي يراد تعقبها عند يُفعَّل تعقُّب الحدث 'trace' باستعمال الخيار --trace-events-enabled
.
--trace-event-file-pattern
أضيف في الإصدار v9.8.0.
يمثِّل هذا الخيار قالبًا من سلسلة نصية تحدِّد مسار ملف بيانات الحدث 'trace'، إذ يدعم ${rotation}
و ${pid}
.
--trace-events-enabled
أضيف في الإصدار v7.7.0.
يفعِّل هذا الخيار مجموعة الحدث 'trace' لتعقب المعلومات.
--trace-sync-io
أضيف في الإصدار v2.1.0.
يطبع هذا الخيار تعقبات المكدِّس متى ما اكتُشفَت مداخل ومخارج متزامنة بعد الدورة الأولى لحلقة الأحداث (event loop).
--trace-warnings
أضيف في الإصدار v6.0.0.
يطبع هذا الخيار تعقبات المكدِّس (stack traces) الخاصَّة بتحذيرات العمليات (من ضمنها تحذيرات الإهمال أيضًا).
--track-heap-objects
أضيف في الإصدار v2.4.0.
يتعقَّب هذا الخيار الأماكن المحجوزة في الكومة (الكائن heap) من أجل لقطات (snapshots) الكومة.
--use-bundled-ca
و --use-openssl-ca
أُضيفا في الإصدار v6.11.0.
يستعمل هذان الخياران متجر حزم شهادات Mozilla CA كما يوفِّره إصدار Node.js الحالي أو متجر OpenSSL CA الافتراضي. يكون المتجر الافتراضي اختياريًّا عند وقت الإنشاء (build-time).
يعدُّ متجر حزم CA، كما توفره Node.js، صورةً عن متجر Mozilla CA الذي يُحدَّد عند إطلاق الإصدار. هذا ينطبق على جميع المنصات المدعومة.
يسمح استعمال متجر OpenSSL بإجراء تعديلات خارجيَّة للمتجر. في أغلب توزيعات لينكس و BSD، يدار هذا المتجر من طرف فنِّيُّو التوزيعة نفسها ومدراء الأنظمة. يعتمد موقع متجر OpenSSL CA على ضبط مكتبة OpenSSL ويمكن تغييره أثناء التشغيل عبر استعمال متغيرات البيئة.
انظر أيضًا متغيري البيئة SSL_CERT_DIR
و SSL_CERT_FILE
.
--v8-options
أضيف في الإصدار v0.1.3.
يطبع هذا الخيار خيارات سطر أوامر المراقب V8 المتوافرة.
تسمح خيارات المراقب V8 بفصل الكلمات عبر الشرطة العادية (-) والشرطة السفلية (_). على سبيل المثال، يكون الخيار --stack-trace-limit
مكافئًا للخيار --stack_trace_limit
.
--v8-pool-size=num
أضيف في الإصدار v5.10.0.
يضبط هذا الخيار حجم مجمع خيط V8 والذي سيستخدم لحجز العمليات التي تعمل في الخلفيَّة.
إن ضُبِطَ الحجم إلى القيمة 0، فسيَختار V8 حينئذٍ حجمًا ملائمًا لمجمِّع الخيط (thread pool) استنادًا إلى عدد المعالجات المتصلة.
إن كانت القيمة المعطاة أكبر من قيمة V8 القصوى، فستُتخار القيمة القصوى حينها مباشرةً.
--zero-fill-buffers
أضيف في الإصدار v6.0.0.
يُستعمَل هذا الخيار لكتابة القيمة 0 على كامل الجزء المحجوز حديثًا للنسخ Buffer
والنسخ SlowBuffer
تلقائيًّا.
-c
أو --check
الإصدار | التغييرات |
---|---|
v10.0.0 | أصبح الخيار --require مدعومًا الآن عند التحقُّق من ملفٍ ما.
|
V5.0.0 - v4.2.0 | أضيف هذا الخيار. |
يستعمل هذا الخيار للتحقق من صياغة السكربت دون تنفيذه.
-e
أو --eval "script"
الإصدار | التغييرات |
---|---|
v5.11.0 | أصبحت المكتبات المضمَّنة متاحةً الآن بوصفها متغيرات معرفة مسبقًا. |
v0.5.2 | أضيف هذا الخيار. |
تعامل الوسائط اللاحقة عند استعمال هذا الخيار على أنَّها شيفرة JavaScript. الوحدات المُعرَّفة مسبقًا في REPL يمكن استعمالها في script أيضًا.
في ويندوز، لن يتعرَّف موجه الأوامر cmd.exe على علامة الاقتباس الفرديَّة عند استعمالها بشكل صحيح لأنَّه لا يتعرَّف إلا على علامة الاقتباس الزوجية من أجل الاقتباس. أمَّا في الصدفة Powershell أو في Git، يمكن استعمال علامة الاقتباس الفرديَّة والزوجيَّة كلاهما.
-h
أو --help
أضيف في الإصدار v0.1.3.
يطبع هذا الخيار خيارات سطر أوامر Node.js المتاحة. تكون المخرجات المطبوعة باستعمال هذا الخيار أقل تفصيلًا مما يحويه هذا التوثيق.
-i
أو --interactive
أضيف في الإصدار v0.7.7.
يفتح هذا الخيار REPL حتى لو لم يكن مجرى الدخل القياسي يبدو وكأنَّه طرفيَّةً.
-p
أو --print "script"
الإصدار | التغييرات |
---|---|
v5.11.0 | أصبحت المكتبات المضمَّنة متاحةً الآن بوصفها متغيرات معرفة مسبقًا. |
v0.5.2 | أضيف هذا الخيار. |
هذا الخيار مماثل تمامًا للخيار -e
باستثناء أنَّه يطبع النتيجة.
-r
أو --require module
أضيف في الإصدار v1.6.0.
يحمِّل هذا الخيار الوحدة المحدَّدة مسبقًا عند بدء التشغيل.
يتقيَّد هذا الخيار بقواعد تحليل الوحدة (module resolution rules) للدالة require()
. يمكن أن يكون الوسيط module
إمَّا مسارًا لملف أو اسمًا لوحدة في Node.js.
-v
أو --version
أضيف في الإصدار v0.1.3.
يطبع هذا الخيار إصدار Node.js الحالي.
متغيرات البيئة
NODE_DEBUG=module[,…]
أضيف في الإصدار v0.3.0.
عندما يُضبَط هذا المتغير إلى القيمة 1، لن تُستعمَل الألوان بعدئذٍ في REPL.
NODE_EXTRA_CA_CERTS=file
أضيف في الإصدار v7.3.0.
عندما يُضبَط هذا المتغير، ستتوسع دائرة شهادات سلطة الشهادات الجذر CAs (مثل VeriSign) إلى شهادات إضافيَّة موجودة في الملف file
المعطى. يجب أن يحتوي هذا الملف على شهادة واحدة موثوقة أو أكثر بصيغة PEM. سيُطلق تحذير مرةً واحدةً فقط عبر process.emitWarning()
إن لم يكن الملف المعطى موجودًا أو كان معطوبًا، وسيُتجاهل أي خطأ آخر.
انتبه إلى أنَّه لا تُستعمَل الشهادات المعروفة ولا الشهادات الإضافيَّة عندما تُضبَط خاصِّيَّة الخيار ca إلى عميل أو خادم TLS أو HTTPS.
NODE_ICU_DATA=file
أضيف في الإصدار v0.11.15.
يحدِّد هذا المتغير مسار بيانات ICU (كائن Intl). ستتوسع البيانات المرتبطة عند تفسيرها (compiled) مع دعم small-icu
.
NODE_NO_WARNINGS=1
أضيف في الإصدار v6.11.0.
عندما يُضبَط هذا المتغير إلى القيمة 1، لن تظهر تحذيرات العمليات بعدئذٍ.
NODE_OPTIONS=options…
أضيف في الإصدار v8.0.0.
يحوي هذا المتغير قائمة من خيارات سطر الأوامر المفصولة عن بعضها بفراغ. تعامل الخيارات options…
المعطاة وكأنَّها كتبت في سطر الأوامر مباشرةً قبل أن تُكتَب في سطر أوامر حقيقي. ستخرج Node.js مع خطأ إن استُعمِل خيار غير مسموح باستعماله في البيئة، مثل الخيار -p
أو ملف سكربت.
خيارات Node.js المسموح باستعمالها في البيئة هي:
--enable-fips
--experimental-modules
--experimental-repl-await
--experimental-vm-modules
--experimental-worker
--force-fips
--icu-data-dir
--inspect
--inspect-brk
--inspect-port
--loader
--napi-modules
--no-deprecation
--no-force-async-hooks-checks
--no-warnings
--openssl-config
--pending-deprecation
--redirect-warnings
--require
أو -r
--throw-deprecation
--title
--tls-cipher-list
--trace-deprecation
--trace-event-categories
--trace-event-file-pattern
--trace-events-enabled
--trace-sync-io
--trace-warnings
--track-heap-objects
--use-bundled-ca
--use-openssl-ca
--v8-pool-size
--zero-fill-buffers
أما خيارات V8 المسموح باستعمالها في البيئة فهي:
--abort-on-uncaught-exception
--max-old-space-size
--perf-basic-prof
--perf-prof
--stack-trace-limit
NODE_PATH=path[:…]
أضيف في الإصدار v0.1.32.
يحدِّد هذا المتغير قائمةً من المجلدات المفصولة عن بعضها بالمحرف ':' والتي ستضاف إلى مسار المجلدات التي يبحث ضمنها عن الوحدة.
في ويندوز، يكون المحرف الفاصل بين أسماء المجلدات هو المحرف ';' عوضًا عن المحرف ':'.
NODE_PENDING_DEPRECATION=1
أضيف في الإصدار v8.0.0.
عندما يُضبَط هذا المتغير إلى القيمة 1، ستُطلَق تحذيرات قيد الإهمال (pending deprecation warnings).
تحذيرات قيد الإهمال مماثلة عمومًا لتحذيرات إهمال وقت التشغيل باستثناء أنَّ الأولى تُعطَّل افتراضيًّا ولن تُطلَق إلا إذا استُعملَت الراية --pending-deprecation
أو متغير البيئة NODE_PENDING_DEPRECATION=1
. تُستعمَل تحذيرات قيد الإهمال لتوفير آلية انتقائيَّة لإطلاق «تحذيرات مبكرة» يمكن أن يستغلها المطورين لإكتشاف الواجهات البرمجيَّة المهملة.
NODE_PRESERVE_SYMLINKS=1
أضيف في الإصدار v7.1.0.
عندما يُضبَط هذا المتغير إلى القيمة 1، سيُوجه مُحمِّل الوحدة (module loader) إلى حفظ الوصلات الرمزيَّة (symbolic links) عند استبيان وتخزين الوحدات.
NODE_REDIRECT_WARNINGS=file
أضيف في الإصدار v8.0.0.
عندما يُضبَط هذا المتغير، ستُوضَع تحذيرات العمليات في الملف المُحدَّد عوضًا عن إرسالها إلى مجرى الخطأ القياسي. سيُنشَأ الملف إن لم يكن موجودًا من قبل، وستضاف التحذيرات إلى نهايته إن كان موجودًا مسبقًا. إن حصل أي خطأ أثناء كتابة التحذير على ذلك الملف، فسيُرسل هذا التحذير إلى مجرى الخطأ القياسي.
هذا المتغير مكافئ لاستعمال الراية --redirect-warnings=file
في سطر الأوامر.
NODE_REPL_HISTORY=file
أضيف في الإصدار v3.0.0.
يحدِّد هذا المتغير مسارًا للملف المراد استعماله لتخزين تأريخ REPL. المسار الافتراضي هو ~/.node_repl_history
وسيُستبدَل به المسار المعطى لهذا المتغير.
انتبه إلى أنَّ تعيين قيمة هذا المتغير إلى سلسلة نصية فارغة (مثل '' أو ' ') يُعطِّل تأريخ REPL.
OPENSSL_CONF=file
أضيف في الإصدار v6.11.0.
يُحدِّد هذا المتغير ملف ضبط OpenSSL المراد تحميله عند بدء التشغيل. ولهذا الخيار استخدامات أخرى أيضًا منها تفعيل التشفير المتوافق مع FIPS إن أنشئت Node.js مع ./configure --openssl-fips
.
إن استعملت الراية --openssl-config
في سطر الأوامر، فسيُجاهل هذا المتغير.
SSL_CERT_DIR=dir
أضيف في الإصدار v7.7.0.
إن فُعِّل الخيار --use-openssl-ca
، فسيُستبدَل هذا المتغير ويُعيَّن المجلد OpenSSL الذي يحوي الشهادات الموثوقة.
كن حذرًا إلى أنَّه إن لم تُضبَط بيئة العمليَّة الابن بشكل واضح، فسترث أيَّة عمليَّة ابن متغير البيئة هذا؛ وإن كانت تلك العمليَّة تستعمل OpenSSl، فهذا سيتسبَّب في جعلها تثق من نفس الشهادات CAs التي تثق منها Node.js.
SSL_CERT_FILE=file
أضيف في الإصدار v7.7.0.
إن فُعِّل الخيار --use-openssl-ca
، فسيُستبدَل هذا المتغير ويُعيَّن الملف OpenSSL الذي يحوي الشهادات الموثوقة.
كن حذرًا إلى أنَّه إن لم تُضبَط بيئة العمليَّة الابن بشكل واضح، فسترث أيَّة عمليَّة ابن متغير البيئة هذا؛ وإن كانت تلك العمليَّة تستعمل OpenSSl، فهذا سيتسبَّب في الوثوق من نفس الشهادات CAs التي تثق منها Node.js.
UV_THREADPOOL_SIZE=size
يضبط هذا المتغير عدد الخيوط المستعملة في مجمَّع خيط libuv إلى الخيوط size
.
تستعمل Node.js واجهات النظام البرمجيَّة غير المتزامنة متى ما أتيح ذلك لها؛ أضف إلى ذلك أنه عندما لا تخرج تلك الواجهات، يُستعمَل مجمع خيط libuv لإنشاء واجهات Node.js برمجيَّة غير متزامنة اعتمادًا على واجهات النظام البرمجيَّة المتزامنة. واجهات Node.js البرمجية التي تستعمل مجمِّع الخيط (threadpool) هي:
- جميع واجهات fs البرمجيَّة، باستثناء واجهات مراقب الملف البرمجية وتلك التي تُعرَف بأنَّها متزامنة، و
crypto.pbkdf2()
، وcrypto.randomBytes()
، إلا إذا استُعملَت دون دالة رد نداء، وcrypto.randomFill()
، وdns.lookup()
، و- جميع واجهات zlib البرمجية باستثناء تلك التي تُعرَف بأنَّها متزامنة.
لمَّا كان لمجمع خيط libuv حجمًا ثابتًا، فهذا يعني أنَّه إن استغرقت أيٌّ من تلك الواجهات البرمجيَّة فترة زمنيَّة طويلة لأي سبب كان، فستعاني الواجهات البرمجيَّة الأخرى التي تعمل في مجمع خيط libuv انخفاضًا في الأداء. هنالك حل وحيد لتقليل آثار هذه المشكلة هو زيادة حجم مجمَّع خيط libuv عبر ضبط قيمة متغير البيئة UV_THREADPOOL_SIZE
إلى قيمةٍ أكبر من 4 (وهي القيمة الافتراضية الحالية لهذا المتغير). لمزيدٍ من المعلومات، راجع توثيق threadpool libuv.