Modul tujuan umum ini berisi banyak fungsi utilitas berguna yang dapat menghemat tenaga Anda untuk menulis kode tambahan.

Modul util menyediakan sekumpulan utilitas yang dapat Anda gunakan untuk men-debug, memeriksa, dan memformat data dalam aplikasi Node.js.

Pelajari berbagai fungsi modul util dan jelajahi beberapa contoh untuk membantu Anda memanfaatkan alat ini.

Masuk Dengan Lebih Nyaman

Logging mengacu pada pencatatan informasi atau peristiwa penting, seperti nilai variabel, pesan kesalahan, dan aliran eksekusi, yang terjadi dalam aplikasi perangkat lunak. Logging melayani beberapa tujuan, termasuk debugging, pemantauan, dan audit.

Modul util Node.js menyediakan mekanisme logging yang nyaman menggunakan util.debuglog metode. Ini memungkinkan Anda untuk membuat fungsi logging debug dengan namespace, dan Anda dapat mengaktifkan atau menonaktifkannya dengan menyetel NODE_DEBUG variabel lingkungan. Ini contohnya:

// indeks.js
const utilitas = memerlukan("bermanfaat");

const debug = util.debuglog("aplikasi saya"); // menginisialisasi debug logger

men-debug("Ini adalah pesan debug"); // MYAPP 39668: Ini adalah pesan debug

Contoh ini menunjukkan bagaimana Anda dapat menyetel logger debug sederhana, di namespace "myapp", dan mencatat pesan serta ID prosesnya ke konsol.

Untuk mengaktifkan log debug, atur NODE_DEBUG variabel lingkungan ke namespace saat Anda menjalankan skrip:

NODE_DEBUG=simpul aplikasi saya index.js

Jika Anda ingin mengaktifkan beberapa ruang nama debug, tambahkan koma untuk memisahkan ruang nama:

NODE_DEBUG=aplikasi saya, aplikasi saya2, simpul aplikasi saya3 index.js

Jika Anda tidak menyertakan namespace di NODE_DEBUG variabel lingkungan, panggilan ke debuglog akan mengabaikan ruang nama itu.

Itu util.debuglog metode menyediakan fungsionalitas yang berguna, tetapi jika aplikasi Anda memerlukan logging yang lebih kompleks, Anda dapat menggunakan salah satu dari yang kuat paket logging di ekosistem Node.js.

Fungsi yang Menjanjikan untuk Fleksibilitas

Janji dalam JavaScript menyediakan cara untuk menangani kode asinkron dengan cara yang lebih terstruktur dan mudah dikelola cara dengan memungkinkan Anda untuk merangkai operasi, menangani kesalahan dan peristiwa sukses secara terpisah, dan menghindari panggilan balik neraka.

Meskipun, tidak semua fungsi bawaan mendukung janji. Namun, Anda dapat "menjanjikan" fungsi yang menggunakan panggilan balik tradisional untuk memungkinkannya mendukung janji dengan modul util util.promisify metode.

Metode ini mengambil fungsi yang menggunakan sistem panggilan balik tradisional dan mengembalikan fungsi yang menggunakan janji.

Misalnya:

const utilitas = memerlukan("bermanfaat");

// versi panggilan balik
fungsicallbackFunction(arg1, arg2, panggilan balik) {
// Operasi asinkron
// Memanggil panggilan balik dengan kesalahan (jika ada) dan hasilnya
}

// Janjikan callbackFunction
const callbackFunctionPromise = util.promisify (callbackFunction);

// Versi yang dijanjikan
callbackFunctionPromise (arg1, arg2)
.Kemudian((hasil) => {
// Hasil proses
})
.menangkap((kesalahan) => {
// Tangani kesalahan
});

Pada contoh di atas, the util.promisify metode mengonversi versi panggilan balik dari fungsi menjadi versi yang menggunakan janji.

Konversi ini memungkinkan Anda untuk menggunakan rantai Kemudian Dan menangkap blok, gunakan coba tangkap, dan kelola kode asinkron Anda dengan lebih baik.

Memformat String Dengan Metode Akrab

Node.js utilitas modul menyediakan fungsi pemformatan yang disebut util.format yang memungkinkan Anda membuat string berformat. Metode ini bekerja mirip dengan itu printf berfungsi di pesta dan bahasa pemrograman lain seperti C dan C++.

Itu util.format() metode mengambil string format yang dapat berisi nol atau lebih penentu format, seperti %S (string), %D (angka), sebagai argumen. Ini juga membutuhkan jumlah nilai yang berubah-ubah yang akan menggantikan penentu yang sesuai.

Misalnya:

const utilitas = memerlukan("bermanfaat");

const nama = "Bonnie";
const umur = 30;

const formattedString = util.format(
"Nama saya %s, dan saya %d tahun.",
nama,
usia
);

menghibur.log (diformatString); // Namaku Bonnie, dan umurku 30 tahun.

Contoh ini menggunakan format string dengan dua placeholder: %S Dan %D. Itu %S placeholder adalah untuk substitusi string, sementara %D adalah untuk substitusi numerik. Panggilan ke util.format melewati nilai yang sesuai—nama Dan usia—untuk setiap placeholder.

Jika specifier tidak memiliki argumen yang sesuai, maka util.format metode tidak akan menggantinya, dan akan mengembalikan string tanpa mengubahnya:

const utilitas = memerlukan("bermanfaat");

const formattedString = util.format("Nama saya %s");
menghibur.log (diformatString); // Nama saya %s

Contoh ini memanggil format hanya dengan satu argumen, sehingga metode mengembalikan string asli.

Ada Banyak Lagi Penggunaan Modul Util

Selain penggunaan ini, modul util Node.js menawarkan fungsi utilitas lainnya. Contohnya termasuk memeriksa objek dan nilai serta menghentikan alat usang.

Dengan memanfaatkan fungsionalitas yang disediakan oleh modul util, Anda dapat meningkatkan keterbacaan dan pemeliharaan kode dan keseluruhan alur kerja Anda.