Dependencies / Dependensi

Ada beberapa dependensi yang diandalkan Node.js untuk bekerja seperti itu.

Perpustakaan

V8

Pustaka V8 menyediakan Node.js dengan mesin JavaScript, yang Node.js kontrol melalui V8 C++ API. V8 dikelola oleh Google, untuk digunakan di Chrome.

libuv

Ketergantungan penting lainnya adalah libuv, pustaka C yang digunakan untuk abstrak operasi I/O non-pemblokiran ke antarmuka yang konsisten di semua yang didukung platform. Ini menyediakan mekanisme untuk menangani sistem file, DNS, jaringan, anak proses, pipe, penanganan sinyal, polling dan streaming. Ini juga termasuk kumpulan utas untuk pekerjaan pembongkaran untuk beberapa hal yang tidak dapat dilakukan secara asinkron di tingkat sistem operasi.

llhttp

Penguraian HTTP ditangani oleh pustaka TypeScript dan C ringan yang disebut llhttp. Ini dirancang untuk tidak membuat panggilan atau alokasi apa pun, sehingga memiliki yang sangat kecil jejak memori per-permintaan.

c-ares

Untuk beberapa permintaan DNS asinkron, Node.js menggunakan pustaka C yang disebut c-ares. Itu diekspos melalui modul DNS di JavaScript sebagai keluarga resolve() dari fungsi. Fungsi lookup(), yang digunakan oleh inti lainnya, membuat penggunaan panggilan getaddrinfo(3) berulir di libuv. Alasan untuk ini adalah c-ares mendukung /etc/hosts, /etc/resolv.conf dan /etc/svc.conf, tetapi tidak mendukung hal-hal seperti mDNS.

OpenSSL

OpenSSL digunakan secara luas di modul tls dan crypto. Ini menyediakan implementasi yang telah teruji pertempuran dari banyak fungsi kriptografi yang modern web bergantung pada keamanan.

zlib

Untuk kompresi dan dekompresi yang cepat, Node.js mengandalkan standar industri zlib library, juga dikenal karena penggunaannya di gzip dan libpng. Node.js menggunakan zlib untuk buat sinkronisasi, asinkron, dan antarmuka kompresi dan dekompresi streaming.

Peralatan

npm

Node.js adalah tentang modularitas, dan dengan itu muncul kebutuhan akan kualitas manajer paket; untuk tujuan ini, npm dibuat. Dengan npm datang yang terbesar pemilihan paket buatan komunitas dari ekosistem pemrograman apa pun, yang membuat pembuatan aplikasi Node.js cepat dan mudah.

gyp

Sistem pembangunan ditangani oleh gyp, generator proyek berbasis python yang disalin dari V8. Itu dapat menghasilkan file proyek untuk digunakan dengan sistem build di banyak platform. Node.js membutuhkan sistem pembangunan karena sebagian besar — ​​dan itu dependensi — ditulis dalam bahasa yang memerlukan kompilasi.

gtest

Kode asli dapat diuji menggunakan gtest, yang diambil dari Chromium. Ini memungkinkan menguji C/C++ tanpa memerlukan node yang ada yang dapat dieksekusi untuk bootstrap.

Gulir ke atas