Modul di Node.js adalah enkapsulasi kode logis dalam satu unit. Itu selalu merupakan praktik pemrograman yang baik untuk selalu memisahkan kode sedemikian rupa sehingga membuatnya lebih mudah dikelola dan dipelihara untuk tujuan masa depan. Di situlah modul di Node.js beraksi.
Karena setiap modul adalah entitas independen dengan fungsionalitas yang dienkapsulasi sendiri, modul ini dapat dikelola sebagai unit kerja yang terpisah.
Dalam tutorial ini, Anda akan belajar-
- Apa itu modul di Node.js
- Menggunakan modul di Node.js
- Membuat modul NPM
- Memperluas modul
- Menerbitkan Modul NPM
- Mengelola paket pihak ketiga dengan npm
- Apa itu file package.json
Apa itu modul di Node.js?
Seperti yang dinyatakan sebelumnya, modul di Node js adalah cara mengenkapsulasi kode dalam unit logis terpisah. Ada banyak modul readymade yang tersedia di pasaran yang dapat digunakan dalam Node js.
Di bawah ini adalah beberapa modul populer yang digunakan dalam aplikasi Node js
- Kerangka kerja Ekspres - Ekspres adalah kerangka kerja aplikasi web Node js minimal dan fleksibel yang menyediakan sekumpulan fitur yang kuat untuk aplikasi web dan seluler.
- Socket.io - Socket.IO memungkinkan komunikasi berbasis peristiwa dua arah secara real-time. Modul ini bagus untuk pembuatan aplikasi berbasis chatting.
- Jade - Jade adalah mesin template berkinerja tinggi dan diimplementasikan dengan JavaScript untuk node dan browser.
- MongoDB - Driver MongoDB Node.js adalah driver node.js yang didukung secara resmi untuk MongoDB.
- Restify - restify adalah framework ringan, mirip dengan express untuk membuat REST API
- Bluebird - Bluebird adalah pustaka janji berfitur lengkap dengan fokus pada fitur dan kinerja inovatif
Menggunakan modul di Node.js
Untuk menggunakan modul dalam aplikasi Node.js, modul tersebut harus diinstal terlebih dahulu menggunakan pengelola paket Node.
Baris perintah di bawah ini menunjukkan bagaimana modul "express" dapat diinstal.
npm install express
- Perintah di atas akan mengunduh file yang diperlukan yang berisi "modul ekspres" dan menangani instalasi juga
- Setelah modul diinstal, untuk menggunakan modul di aplikasi Node.js, Anda perlu menggunakan kata kunci 'memerlukan'. Kata kunci ini adalah cara yang digunakan Node.js untuk menggabungkan fungsionalitas modul dalam aplikasi.
Mari kita lihat contoh bagaimana kita dapat menggunakan kata kunci "membutuhkan". Contoh kode "Guru99" di bawah ini menunjukkan bagaimana menggunakan fungsi yang dibutuhkan
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
- Dalam pernyataan pertama itu sendiri, kami menggunakan kata kunci "memerlukan" untuk menyertakan modul ekspres. Modul "express" adalah pustaka JavaScript yang dioptimalkan untuk pengembangan Node.js. Ini adalah salah satu modul Node.js yang paling umum digunakan.
- Setelah modul disertakan, untuk menggunakan fungsionalitas di dalam modul, sebuah objek perlu dibuat. Di sini objek dari modul ekspres dibuat.
- Setelah modul disertakan menggunakan perintah "memerlukan" dan "objek" dibuat, metode yang diperlukan dari modul ekspres dapat dipanggil. Di sini kita menggunakan perintah set untuk mengatur mesin tampilan, yang digunakan untuk mengatur mesin templat yang digunakan di Node.js.
Catatan: - (Hanya untuk pemahaman pembaca; mesin template adalah pendekatan untuk memasukkan nilai dalam aplikasi dengan mengambil data dari file data. Konsep ini cukup terkenal di Angular JS di mana tanda kurung kurawal {{key}} digunakan untuk mengganti nilai di halaman web. Kata 'kunci' dalam tanda kurung kurawal pada dasarnya menunjukkan variabel yang akan diganti dengan nilai saat halaman ditampilkan.)
- Di sini kita menggunakan metode mendengarkan untuk membuat aplikasi mendengarkan pada nomor port tertentu.
Membuat modul NPM
Node.js memiliki kemampuan untuk membuat modul kustom dan memungkinkan Anda untuk menyertakan modul kustom tersebut di aplikasi Node.js Anda.
Mari kita lihat contoh sederhana bagaimana kita dapat membuat modul kita sendiri dan memasukkan modul itu ke dalam file aplikasi utama kita. Modul kami hanya akan melakukan tugas sederhana untuk menambahkan dua angka.
Mari ikuti langkah-langkah di bawah ini untuk melihat bagaimana kita dapat membuat modul dan memasukkannya ke dalam aplikasi kita.
Langkah 1) Buat file bernama "Addition.js" dan sertakan kode di bawah ini. File ini akan berisi logika untuk modul Anda.
Di bawah ini adalah kode yang akan masuk ke file ini;
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
- Kata kunci "ekspor" digunakan untuk memastikan bahwa fungsionalitas yang ditentukan dalam file ini benar-benar dapat diakses oleh file lain.
- Kami kemudian mendefinisikan fungsi yang disebut 'AddNumber'. Fungsi ini didefinisikan untuk mengambil 2 parameter, a dan b. Fungsi tersebut ditambahkan pada modul “ekspor” untuk menjadikan fungsi tersebut sebagai fungsi publik yang dapat diakses oleh modul aplikasi lain.
- Kami akhirnya membuat fungsi kami mengembalikan nilai tambah parameter.
Sekarang kita telah membuat modul khusus yang memiliki fungsi menambahkan 2 angka. Sekarang saatnya membuat aplikasi, yang akan memanggil modul ini.
Pada langkah selanjutnya, kita akan benar-benar melihat bagaimana membuat aplikasi yang akan memanggil modul kustom kita.
Langkah 2) Buat file bernama "app.js," yang merupakan file aplikasi utama Anda dan tambahkan kode di bawah ini
var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
- Kami menggunakan kata kunci "memerlukan" untuk menyertakan fungsionalitas dalam file Addition.js.
- Karena fungsi dalam file Addition.js sekarang dapat diakses, sekarang kita dapat melakukan panggilan ke fungsi AddNumber. Dalam fungsinya, kita melewatkan 2 angka sebagai parameter. Kami kemudian menampilkan nilai di konsol.
Keluaran :
- Saat Anda menjalankan file app.js, Anda akan mendapatkan keluaran nilai 3 di log konsol.
- Hasilnya karena fungsi AddNumber di file Addition.js berhasil dipanggil, dan nilai 3 yang dikembalikan ditampilkan di konsol.
Catatan: - Kami belum menggunakan "Node package manager" untuk menginstal modul Addition.js kami. Ini karena modul sudah menjadi bagian dari proyek kita di mesin lokal. Manajer paket Node muncul dalam gambar ketika Anda mempublikasikan modul di internet, yang kita lihat di topik berikutnya.
Memperluas modul
Saat membuat modul, dimungkinkan juga untuk memperluas atau mewarisi satu modul dari modul lainnya.
Dalam pemrograman zaman modern, cukup umum untuk membangun pustaka modul umum dan kemudian memperluas fungsionalitas modul umum ini jika diperlukan.
Mari kita lihat contoh bagaimana kita dapat memperluas modul di Node.js.
Langkah 1) Buat modul dasar.
Dalam contoh kami, buat file bernama "Tutorial.js" dan tempatkan kode di bawah ini.
Dalam kode ini, kami hanya membuat fungsi yang mengembalikan string ke konsol. String yang dikembalikan adalah "Tutorial Guru99".
var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
- Modul ekspor digunakan sehingga fungsi apa pun yang didefinisikan dalam file ini dapat tersedia di modul lain di Node.js
- Kami membuat fungsi yang disebut tutorial yang dapat digunakan di modul Node.js lainnya.
- Kami menampilkan string "Tutorial Guru99" di konsol saat fungsi ini dipanggil.
Sekarang kita telah membuat modul dasar yang disebut Tutorial.js. Sekarang saatnya membuat modul lain yang akan memperluas modul dasar ini.
Kami akan mengeksplorasi cara melakukan ini di langkah berikutnya.
Langkah 2) Selanjutnya, kita akan membuat modul tambahan kita. Buat file baru bernama "NodeTutorial.js" dan tempatkan kode di bawah ini di file.
var Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")function pTutor(){var PTutor=TutorPTutor.tutorial();}}Orvar Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")this.pTutor = function (){var PTutor=TutorPTutor.tutorial();}}
Perhatikan, poin-poin penting berikut tentang kode di atas
- Kami menggunakan fungsi "memerlukan" di file modul baru itu sendiri. Karena kita akan memperluas file modul yang ada "Tutorial.js", kita perlu memasukkannya terlebih dahulu sebelum memperluasnya.
- Kami kemudian membuat fungsi yang disebut "Nodetutorial." Fungsi ini akan melakukan 2 hal,
- Ini akan mengirim string "Tutorial Node" ke konsol.
- Ini akan mengirimkan string "Tutorial Guru99" dari modul dasar "Tutorial.js" ke modul tambahan kami "NodeTutorial.js".
- Di sini kami melakukan langkah pertama untuk mengirim string ke "Tutorial Node" ke konsol.
- Langkah selanjutnya adalah memanggil fungsi dari modul Tutorial kita, yang akan menampilkan string "Tutorial Guru99" ke console.log.
Langkah 3) Buat file app.js utama Anda, yang merupakan file aplikasi utama Anda dan sertakan kode di bawah ini.
var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object
Kode di atas melakukan hal-hal berikut;
- File aplikasi utama kami sekarang memanggil modul "NodeTutorial".
- Kami memanggil fungsi "NodeTutorial". Dengan memanggil fungsi ini, teks "Tutorial Simpul" akan ditampilkan di log konsol.
- Karena kami telah memperluas modul Tutorial.js kami dan mengekspos fungsi yang disebut pTutor. Itu juga memanggil modul tutorial dalam modul Tutorial.js, dan teks "Tutorial Guru99" akan ditampilkan ke konsol juga.
Keluaran:
Karena kita telah mengeksekusi kode app.js di atas menggunakan Node, kita akan mendapatkan keluaran berikut di file console.log
- Tutorial Node
- Tutorial Guru99
Menerbitkan Modul NPM (Node Package Manager)
Seseorang dapat menerbitkan modul mereka sendiri ke repositori Github mereka sendiri.
Dengan menerbitkan modul Anda ke lokasi pusat, Anda tidak akan dibebani dengan keharusan menginstal sendiri pada setiap mesin yang membutuhkannya.
Sebagai gantinya, Anda dapat menggunakan perintah install dari npm dan menginstal modul npm yang Anda terbitkan.
Langkah-langkah berikut harus diikuti untuk mempublikasikan modul npm Anda
Langkah 1) Buat repositori Anda di GitHub (alat manajemen repositori kode online). Ini dapat digunakan untuk menghosting repositori kode Anda.
Langkah 2 ) Anda perlu memberi tahu instalasi npm lokal Anda tentang siapa Anda. Artinya kita perlu memberi tahu npm siapa pembuat modul ini, apa id email dan URL perusahaan apa saja, yang tersedia yang perlu dikaitkan dengan id ini. Semua detail ini akan ditambahkan ke modul npm Anda saat diterbitkan.
Perintah di bawah ini menetapkan nama, email, dan URL pembuat modul npm.
npm set init.author.name "Guru99."
npm set init.author.email " Alamat email ini dilindungi dari robot spam. Anda harus mengaktifkan JavaScript untuk melihatnya."
npm set init.author.url http://Guru99.com
Langkah 3) Langkah selanjutnya adalah masuk ke npm menggunakan kredensial yang diberikan pada langkah terakhir. Untuk masuk, Anda perlu menggunakan perintah di bawah ini
npm login
Langkah 4) Inisialisasi paket Anda - Langkah selanjutnya adalah menginisialisasi paket untuk membuat file package.json. Ini dapat dilakukan dengan mengeluarkan perintah di bawah ini
npm init
Saat Anda mengeluarkan perintah di atas, Anda akan diminta untuk menjawab beberapa pertanyaan. Yang paling penting adalah nomor versi modul Anda.
Langkah 5) Publikasikan ke GitHub - Langkah selanjutnya adalah mempublikasikan file sumber Anda ke GitHub. Ini dapat dilakukan dengan menjalankan perintah di bawah ini.
git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags
Langkah 6) Publikasikan modul Anda - Bagian terakhir adalah mempublikasikan modul Anda ke registri npm. Ini dilakukan melalui perintah di bawah ini.
npm publish
Mengelola paket pihak ketiga dengan npm
Seperti yang telah kita lihat, "Manajer paket node" memiliki kemampuan untuk mengelola modul, yang dibutuhkan oleh aplikasi Node.js.
Mari kita lihat beberapa fungsi yang tersedia di pengelola paket node untuk mengelola modul
-
Menginstal paket dalam mode global - Modul dapat diinstal di tingkat global, yang pada dasarnya berarti bahwa modul ini akan tersedia untuk semua proyek Node.js di mesin lokal. Contoh di bawah ini menunjukkan cara memasang "modul ekspres" dengan opsi global.
npm install express -global
Opsi global dalam pernyataan di atas adalah yang memungkinkan modul dipasang di tingkat global.
-
Mencantumkan semua paket global yang diinstal di mesin lokal. Ini dapat dilakukan dengan menjalankan perintah di bawah ini di command prompt
daftar npm --global
Di bawah ini adalah output yang akan ditampilkan, jika sebelumnya Anda telah menginstal "modul ekspres" pada sistem Anda.
Di sini Anda dapat melihat berbagai modul yang diinstal pada mesin lokal.
-
Menginstal versi paket tertentu - Terkadang mungkin ada persyaratan untuk menginstal versi paket tertentu saja. Setelah Anda mengetahui nama paket dan versi relevan yang perlu diinstal, Anda dapat menggunakan perintah npm install untuk menginstal versi tersebut.
Contoh di bawah ini menunjukkan cara menginstal modul yang disebut underscore dengan versi 1.7.0 tertentu
npm instal [email protected]
-
Memperbarui versi paket - Terkadang Anda mungkin memiliki versi paket yang lebih lama dalam suatu sistem, dan Anda mungkin ingin memperbarui ke versi terbaru yang tersedia di pasar. Untuk melakukan ini, seseorang dapat menggunakan perintah npm update. Contoh di bawah ini menunjukkan cara memperbarui paket garis bawah ke versi terbaru
npm update garis bawah
-
Mencari paket tertentu - Untuk mencari apakah versi tertentu tersedia di sistem lokal atau tidak, Anda dapat menggunakan perintah pencarian npm. Contoh di bawah ini akan memeriksa apakah modul ekspres diinstal pada mesin lokal atau tidak.
npm search express
-
Menghapus instalan paket - Hal yang sama di mana Anda dapat menginstal paket, Anda juga dapat menghapus instalan paket. Penghapusan paket dilakukan dengan perintah penghapusan instalan npm. Contoh di bawah ini menunjukkan cara mencopot pemasangan modul ekspres
npm uninstall express
Apa itu file package.json
File "package.json" digunakan untuk menyimpan metadata tentang proyek tertentu . Informasi ini memberikan manajer paket Node informasi yang diperlukan untuk memahami bagaimana proyek harus ditangani bersama dengan ketergantungannya.
File package.json berisi informasi seperti deskripsi proyek, versi proyek dalam distribusi tertentu, informasi lisensi, dan data konfigurasi.
File package.json biasanya terletak di direktori root proyek Node.js.
Mari kita ambil contoh bagaimana struktur sebuah modul terlihat ketika dipasang melalui npm.
Cuplikan di bawah ini menunjukkan konten file dari modul express ketika disertakan dalam proyek Node.js Anda. Dari snapshot, Anda dapat melihat file package.json di folder express.
Jika Anda membuka file package.json, Anda akan melihat banyak informasi di file tersebut.
Di bawah ini adalah cuplikan dari sebagian file. The express@~4.13.1 menyebutkan nomor versi modul ekspres yang digunakan.
Ringkasan
- Modul di Node.js adalah enkapsulasi kode logis dalam satu unit. Pemisahan menjadi modul membuat kode lebih mudah dikelola dan dipelihara untuk tujuan masa depan
- Ada banyak modul yang tersedia di pasar yang dapat digunakan dalam Node.js seperti express, underscore, MongoDB, dll.
- Manajer paket node (npm) digunakan untuk mengunduh dan menginstal modul yang kemudian dapat digunakan dalam aplikasi Node.js.
- Seseorang dapat membuat modul NPM kustom, memperluas modul ini, dan juga menerbitkan modul ini.
- Manajer paket Node memiliki seperangkat perintah lengkap untuk mengelola modul npm pada sistem lokal seperti instalasi, un-instalasi, pencarian, dll.
- File package.json digunakan untuk menampung seluruh informasi metadata untuk modul npm.