
دنیای زبانهای کدنویسی و توسعه نرمافزار
ماژول node:assert مجموعهای از توابع Assertion برای بررسی صحت و درستی مقادیر و اینورینتها در کد فراهم میکند. این ماژول در حالتهای مختلف (strict و legacy) قابل استفاده است و در صورت نقض شرایط، خطای AssertionError تولید میکند. همچنین کلاسهای AssertionError و Assert امکان سفارشیسازی و مدیریت پیشرفتهٔ Assertionها را فراهم میکنند.
خلاصه ماژول node:async_hooks در Node.js ابزارهایی برای ردیابی و مدیریت کانتکستهای ناهمگام فراهم میکند. دو کلاس اصلی این ماژول، یعنی AsyncLocalStorage و AsyncResource
ماژول node:async_hooks در Node.js ابزاری برای ردیابی منابع ناهمگام است. با این حال، این API Experimental محسوب میشود و استفاده از آن توصیه نمیگردد، زیرا مشکلاتی در کارایی، ایمنی و قابلیت استفاده دارد. برای نیازهای ردیابی کانتکست، بهتر است از AsyncLocalStorage استفاده شود. با این وجود، آشنایی با Async Hooks برای درک چرخهٔ عمر منابع ناهمگام مفید است.
کلاس Buffer در Node.js برای نمایش دنبالهای از بایتها با طول ثابت استفاده میشود. بسیاری از APIهای Node.js از Buffer پشتیبانی میکنند. این کلاس زیرکلاس Uint8Array است و متدهای اضافی برای کار با دادههای باینری ارائه میدهد. Bufferها برای مدیریت دادههای خام مانند فایلها، جریانها و پروتکلهای شبکه ضروری هستند.
کلاس Buffer در Node.js مجموعهای از متدها برای نوشتن انواع دادهها در حافظهٔ باینری ارائه میدهد. این متدها شامل نوشتن اعداد صحیح signed و unsigned، اعداد اعشاری، مقادیر بزرگ (bigint) و رشتهها هستند. همچنین امکان نوشتن دادهها در قالب big-endian یا little-endian وجود دارد. این قابلیتها برای پردازش فایلهای باینری، پروتکلهای شبکه و مدیریت دادههای سطح پایین حیاتیاند.
Node-API (که قبلاً N-API نامیده میشد) یک API پایدار برای ساخت Addonهای بومی در Node.js است. این API مستقل از موتور جاوااسکریپت (مثل V8) بوده و بهعنوان بخشی از خود Node.js نگهداری میشود. هدف اصلی آن تضمین پایداری ABI است تا ماژولهای کامپایلشده برای یک نسخهٔ اصلی بتوانند بدون نیاز به کامپایل مجدد در نسخههای بعدی اجرا شوند.
Node.js مجموعهای از APIهای C++ ارائه میدهد که به توسعهدهندگان اجازه میدهد جاوااسکریپت را در محیط Node.js از نرمافزارهای C++ اجرا کنند. این قابلیت برای سناریوهایی طراحی شده که Node.js بهعنوان یک کتابخانه درون برنامهٔ C++ جاسازی میشود. برخلاف کدی که مستقیماً توسط Node.js اجرا میشود، استفاده از Node.js بهعنوان کتابخانه ممکن است تغییرات ناسازگار در نسخههای اصلی داشته باشد.
ماژول node:child_process در Node.js امکان اجرای فرآیندهای فرزند (subprocesses) را فراهم میکند. این قابلیت مشابه popen(3) در سیستمهای یونیکس است اما کاملاً یکسان نیست. مهمترین تابع در این ماژول، child_process.spawn() است که فرآیند فرزند را بهصورت ناهمزمان ایجاد میکند. علاوه بر آن، توابع دیگری مانند exec, execFile, fork و نسخههای همگام (Sync) نیز وجود دارند که بسته به نیاز میتوانند استفاده شوند.
Node.js مجموعهای غنی از گزینههای خط فرمان ارائه میدهد که به توسعهدهندگان اجازه میدهد رفتار زمان اجرا را پیکربندی کنند، دیباگینگ را فعال کنند، مجوزها را مدیریت کنند و نحوهٔ اجرای اسکریپتها را کنترل نمایند. این گزینهها برای استقرار امن و انعطافپذیر برنامهها حیاتی هستند.
ماژول node:crypto در Node.js مجموعهای از قابلیتهای رمزنگاری ارائه میدهد که شامل توابع هش، HMAC، رمزگذاری و رمزگشایی، امضا و تأیید امضا است. این ماژول بهعنوان یک رابط برای کتابخانهٔ OpenSSL عمل میکند و ابزارهای قدرتمندی برای امنیت دادهها در اختیار توسعهدهندگان قرار میدهد. کلیدواژهها
Node.js یک ابزار خطایابی ساده در خط فرمان ارائه میدهد که امکان توقف اجرای کد، بررسی متغیرها، و اجرای دستورات را فراهم میکند. این ابزار کاملترین دیباگر نیست، اما برای بررسی سریع و گامبهگام کد بسیار کاربردی است. همچنین میتوان از ادغام با V8 Inspector و Chrome DevTools برای خطایابی پیشرفتهتر استفاده کرد.