Belajar node js

Tutorial Node.js NPM: Create, Publish, Extend & Manage

Tutorial Node.js NPM: Create, Publish, Extend & Manage

Modul dalam Node.js merupakan sebuah enkapsulasi yang logis dari kode dalam satu unit. Dalam praktek pemrograman, selalu baik untuk selalu memisahkan kode sedemikian rupa sehingga lebih mudah untuk dikelola dan dijaga untuk keperluan di masa mendatang. Disinilah modul-modul di dalam Node.js bekerja.

Karena setiap modul merupakan suatu kesatuan yang independen bersama dengan fungsi di dalamnya, maka setiap modul dapat dikelola sebagai unit kerja yang terpisah.

Dalam tutorial ini, Anda akan mempelajari:

Modul apa yang terdapat di dalam Node.js?

Seperti yang telah disebutkan sebelumnya, modul dalam Node.js merupakan cara mengenkapsulasi kode dalam unit logis terpisah. Ada banyak modul siap jadi tersedia di pasaran yang dapat digunakan di dalam Node.Js.

Di bawah ini adalah beberapa modul populer yang digunakan pada aplikasi Node.Js.

  1. Framework Express– Express merupakan framework aplikasi web Node.Js minimalis dan fleksibel yang menyediakan berbagai fitur pada aplikasi web dan mobile.
  2. io– Socket.IO memungkinkan komunikasi real-time bidirectional event-based. Modul ini bagus untuk aplikasi berbasis chatting dan creation.
  3. Jade – Jade merupakan engine template dengan high-performance dan diterapkan dengan JavaScript untuk node dan browsers.
  4. MongoDB– Driver Node.Js MongoDB adalah driver node.js yang didukung secara resmi untuk MongoDB.
  5. Restify– Restify merupakan sebuah framework yang ringan, mirip dengan express untuk membuat REST APIs.
  6. Bluebird – Bluebird merupakan sebuah library premis yang fully-featured yang berfokus pada fitur inovatif dan pada performa.

Menggunakan modul pada Node.js

Untuk menggunakan modul pada aplikasi Node.js, pertama-tama modul tersebut harus diinstal dengan menggunakan Node package manager.

Baris perintah di bawah menampilkan bagaimana cara sebuah modul “express” diinstal.

npm install express

 

  • Perintah di atas akan mengunduh file yang diperlukan yang berisi “express modules” dan juga akan mengurus instalasi.
  • Setelah modul diinstal, Anda perlu menggunakan kata kunci ‘require’ untuk menggunakan modul di aplikasi Node.Js. Kata kunci ini merupakan cara yang digunakan Node.Js untuk menggabungkan fungsi dari sebuah modul dalam sebuah aplikasi.

Mari kita lihat contoh cara menggunakan kata kunci “require”. Contoh kode “Guru99” di bawah ini menunjukkan cara menggunakan fungsi yang diperlukan.

 

var express=require('express');

var app=express();

app.set('view engine','jade');

app.get('/',function(req,res)

{

});

var server=app.listen(3000,function()

{

});
  1. Dalam pernyataan pertama, kita menggunakan kata kunci “require” untuk menyertakan modul express. Modul “express” tersebut merupakan library JavaScript yang dioptimalkan untuk pengembangan Node.Js. Modul ini adalah salah satu modul Node.Js yang paling umum digunakan.
  2. Setelah modul tersebut disertakan, untuk menggunakan fungsi dalam modul, sebuah objek harus dibuat. Disini, dibuatlah objek dari modul express.
  3. Setelah modul disertakan dengan menggunakan perintah “require” dan “object” dibuat, metode yang diperlukan dari modul express dapat dipanggil. Disini kita menggunakan set perintah untuk mengatur engine view yang digunakan untuk mengatur engine templating yang digunakan di Node.Js.

Catatan:-(Hanya untuk pengetahuan pembaca;  engine templating adalah sebuah pendekatan untuk memasukkan values di dalam sebuah aplikasi dengan cara mengambil data dari file-file data. Konsep ini cukup terkenal di Angular JS dimana kurung kurawal {{ key }} digunakan untuk menggantikan value di dalam halaman web. Kata ‘key’ di dalam kurung kurawal pada dasarnya menunjukkan variabel yang akan diganti dengan nilai pada saat halaman ditampilkan.)

  1. Disini kita akan menggunakan “listen to method” untuk membuat aplikasi “listen” di nomor port tertentu.

Membuat modul NPM 

Node.js memiliki kemampuan untuk membuat modul custom dan memungkinkan Anda untuk memasukkan modul custom tersebut ke dalam aplikasi Node.Js Anda.

Mari kita lihat contoh sederhana tentang cara membuat modul kita sendiri dan memasukkan modul tersebut ke dalam file aplikasi utama kita. Modul kita akan melakukan tugas sederhana yaitu menambahkan dua angka.

Mari ikuti langkah-langkah di bawah ini untuk melihat bagaimana kita dapat membuat modul dan memasukkannnya ke dalam aplikasi kita.

Langkah 1) Buatlah file bernama “Addition.js” dan masukkan kode di bawah ini. File ini akan berisi logika untuk modul Anda.

Di bawah ini adalah kode yang akan dimasukkan ke dalam file ini;

 

var exports=module.exports={};

exports.AddNumber=function(a,b)

{

return a+b;

};

  1. Kata kunci “exports” digunakan untuk memastikan bahwa fungsi yang ditentukan dalam file ini benar-benar dapat diakses oleh file lain.
  2. Kemudian kita menentukan fungsi yang disebut ‘AddNumber’. Fungsi ini ditentukan untuk mengambil 2 parameter, yaitu parameter a dan b. Fungsi ini ditambahkan pada modul “exports” untuk menjadikannya sebagai fungsi publik yang dapat diakses oleh modul aplikasi lainnya.
  3. Akhirnya kita membuat fungsi kita mengembalikan added value dari parameter.

Kini kita telah membuat modul custom kita yang berfungsi untuk menambahkan dua angka. Saatnya membuat sebuah aplikasi yang akan memanggill modul ini.

Pada langkah berikutnya, kita akan melihat bagaimana cara membuat aplikasi tersebut yang akan memanggil modul custom kita.

Langkah 2) Buatlah sebuah file dengan nama “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));

  1. Kita menggunakan kata kunci “require” untuk memasukkan fungsi tersebut ke file Addition.js.
  2. Karena fungsi dalam file Addition.js sekarang dapat diakses, sekarang kita dapat melakukan panggilan ke fungsi AddNumber. Dalam fungsi ini, kita memberikan 2 angka sebagai parameter. Kemudian kita tampilkan value pada konsol.

 

Output:

  • Ketika Anda menjalankan file app.js, Anda akan memperoleh output nilai 3 pada log konsol.
  • Hasil ini didapat karena fungsi AddNumber pada file Addition.js berhasil dipanggil, dan nilai 3 yang dikembalikan ditampilkan pada konsol.

Catatan: – Kita tidak menggunakan “Node package manager” untuk menginstal modul Addition.js kita karena modul sudah menjadi bagian dari proyek kita di mesin lokal. Node package manager muncul ketika Anda mempublish sebuah modul di internet, yang akan kita lihat pada topik berikutnya.

Memperluas modul

Ketika membuat modul, juga memungkinkan untuk memperluas atau menurunkan satu modul ke modul lainnya.

Pada pemrograman modern, sangat umum untuk membuat sebuah library untuk modul-modul umum dan kemudian memperluas fungsi modul umum tersebut bila diperlukan.

Mari kita lihat sebuah contoh bagaimana kita bisa memperluas modul pada Node.js.

Langkah 1) Buatlah modul dasar

Pada contoh kita, buatlah sebuah file dengan nama “Tutorial.js” dan masukkan kode di bawah ini.

Dalam kode ini, kita hanya membuat sebuah fungsi yang mengembalikan string ke konsol. String yang dikembalikan adalah “Tutorial Guru99”.

 

 

var exports=module.exports={};

exports.tutorial=function()

{

console.log(“Tutorial Guru99”)

}

  1. Modul exports tersebut digunakan sehingga fungsi apapun yang ditentukan dalam file ini dapat tersedia di modul lainnya dalam Node.js.
  2. Kita membuat sebuah fungsi yang disebut tutorial, yang dapat digunakan dalam modul Node.js lainnya.
  3. Kita menampilkan string “Tutorial Guru99” pada konsol saat fungsi ini dipanggil.

Sekarang kita telah membuat modul dasar kita yang disebut Tutorial.js. Sekarang saatnya untuk membuat modul lain yang akan membuat modul dasar ini.

Kita akan menjelajahi caranya pada langkah selanjutnya.

Langkah 2) Selanjutnya, kita akan membuat modul tambahan/perluasan  kita. Buatlah sebuah file dengan nama “NodeTutorial.js” dan tempatkan kode di bawah ini ke dalam file.

 

var Tutor=require(‘./Tutorial.js’);

exports.NodeTutorial=function()

{

console.log(“Tutorial Node “)

function pTutor()

{

var PTutor=Tutor

PTutor.tutorial();

}

}

 

Or

var Tutor=require(‘./Tutorial.js’);

exports.NodeTutorial=function()

{

console.log(“Tutorial Node”)

this.pTutor = function ()

{

var PTutor=Tutor

PTutor.tutorial();

}

}

Perhatikan poin-poin utama berikut ini mengenai kode di atas

  1. Kita menggunakan fungsi “require” dalam file modul baru itu sendiri. Karena kita akan memperluas file modul “Tutorial.js” yang sudah ada, kita harus memasukkannya terlebih dahulu sebelum memperluasnya.
  2. Kemudian kita membuat sebuah fungsi yang disebut “Nodetutorial”. Fungsi ini akan melakukan 2 hal, yaitu:
  • Mengirimkan string “Node Tutorial ” ke konsol.
  • Mengirimkan string “Tutorial Guru99” dari modul dasar “Tutorial.js” ke modul tambahan/perluasan “NodeTutorial.js” kita.
  1. Disini kita melakukan langkah pertama untuk mengirimkan string ke “Tutorial Node” ke konsol tersebut.
  2. Langkah berikutnya adalah memanggil fungsi dari modul Tutorial kita, yang akan menghasilkan string “Tutorial Guru99” pada console.log.

Langkah 3) Buatlah file app.js utama Anda, yang merupakan aplikasi utama Anda, dan masukkan kode di bawah ini.

 

var localTutor=require(‘./NodeTutorial.js’);

localTutor.NodeTutorial();

localTutor.NodeTutorial.pTutor();

 

Or use this code

var tut = new localTutor.NodeTutorial();  // Create and save object

tut.pTutor();  // Call function on object

Kode di atas melakukan hal-hal berikut;

  1. File aplikasi utama kita sekarang memanggil modul “NodeTutorial”.
  2. Kita memanggil fungsi “NodeTutorial”. Dengan memanggil fungsi ini, teks “Tutorial Node” akan ditampilkan pada log konsol.
  3. Karena kita telah memperluas modul Tutorial.js kita dan membuka fungsi yang disebut pTutor, fungsi tersebut juga memanggil modul tutorial dalam modul Tutorial.js dan teks “Tutorial Guru99” akan ditampilkan juga pada konsol.

Output:

Karena kita telah mengeksekusi kode app.js di atas dengan menggunakan Node, kita akan memperoleh output berikut di file console.log.

  • Tutorial Node
  • Guru99 Tutorial

Mempublish Modul NPM (Node Package Manager) 

Kita dapat mempublish modul kita sendiri ke repositori Github kita.

Dengan mempublish modul kita ke lokasi pusat, Anda tidak perlu lagi menginstalnya sendiri pada setiap mesin yang membutuhkan modul tersebut.

Justru, Anda dapat menggunakan perintah instal npm dan instal modul npm yang dipublish.

Langkah-langkah berikut perlu diikuti untuk mempublish modul npm Anda.

Langkah 1) Buatlah repositori Anda pada GitHub (sebuah tool untuk online code repository management). Tool ini dapat digunakan untuk hosting repositori kode Anda.

Langkah 2) Anda harus memberitahu instalasi npm Anda tentang siapa diri Anda. Yang artinya, kita perlu memberitahu installation npm lokal tentang siapa yang menjadi author dari modul ini, apa id emailnya dan URL perusahaan manapun yang tersedia, yang perlu dihubungkan dengan id ini. Semua detail ini akan ditambahkan pada modul npm Anda ketika dipublish.

Perintah di bawah ini menetapkan nama, email dan URL dari pembual modul npm tersebut.

npm set init.author.name “Guru99.”

npm set init.author.email “guru99@gmail.com ”

npm set init.author.url http://Guru99.com

Langkah 3) Langkah selanjutnya adalah login ke npm menggunakan infomasi akses  yang disediakan pada langkah terakhir. Untuk login, Anda harus menggunakan perintah di bawah ini.

npm login

Langkah 4) Inisialisasi package Anda – Langkah selanjutnya adalah dengan menginisialisasi package untuk membuat file package.json. Hal ini dapat dilaksanakan dengan mengeluarkan perintah di bawah ini.

npm init

Saat Anda mengeluarkan perintah di atas, Anda akan diajukan beberapa pertanyaan. Yang paling penting adalah nomor versi untuk modul Anda.

Langkah 5) Mempublish ke GitHub – Langkah selanjutnya adalah mempublish file sumber Anda ke GitHub. Hal ini dapat dilakukan dengan menjalankan perintah di bawah ini.

git add.

git commit -m “Peluncuran pertama”

git tag v0.0.1

git push origin master –tags

Langkah 6) Publish modul Anda – Bagian terakhir adalah dengan mempublish modul Anda ke dalam npm registry. Hal ini dilakukan dengan perintah di bawah ini.

npm publish

Mengelola package third-party dengan npm

Seperti yang telah kita lihat, “Node package manager” tersebut memiliki kemampuan untuk mengelola modul. Kemampuan tersebutlah yang dibutuhkan oleh aplikasi Node.js.

Mari kita lihat beberapa fungsi yang tersedia dalam node package manager untuk mengelola modul.

  1. Menginstal package dalam mode global – Modul dapat diinstal di tingkat global. Pada dasarnya berarti modul-modul ini akan tersedia untuk semua proyek Node.js pada mesin lokal. Contoh di bawah ini menunjukkan cara menginstal “express module” dengan opsi global.

npm install express –global

Opsi global pada pernyataan di atas memungkinkan modul untuk diinstal pada tingkat global.

  1. Mendaftarkan semua package global pada sebuah mesin lokal. Hal ini dapat dilakukan dengan mengeksekusi perintah di bawah dengan menggunakan command prompt.

npm list –global

Di bawah ini adalah output yang akan ditampilkan bila Anda sudah menginstall “express module” pada sistem Anda.

Disini Anda dapat melihat berbagai modul yang diinstal pada mesin lokal.

 

  1. Menginstal versi tertentu dari suatu paket – Terkadang terdapat suatu persyaratan untuk menginstal versi tertentu dari sebuah package. Setelah Anda tahu nama package dan versi yang harus diinstal, Anda dapat menggunakan perintah npm install untuk menginstal versi tertentu tersebut.

Contoh di bawah ini menunjukkan cara menginstal modul bernama underscore versi 1.7.0.

npm install underscore@1.7.0

  1. Memperbarui versi package – Terkadang Anda memiliki versi paket yang lebih usang pada sistem dan mungkin ingin memperbarui ke versi terbaru yang ada di pasaran. Untuk melakukannya, kita dapat menggunakan perintah npm update. Contoh di bawah menunjukkan cara memperbarui package underscore ke versi yang terbaru.

npm update underscore

  1. Mencari package tertentu – Untuk mencari tahu apakah versi tertentu tersedia di sistem lokal, Anda dapat menggunakan perintah search dari npm. Contoh di bawah akan memeriksa apakah modul express sudah terinstal pada mesin lokal atau tidak.

npm search express

  1. Menghapus instalasi sebuah package – Proses penghapusan instalasi sebuah package dilakukan dengan perintah uninstallation (penghapusan instalasi) dari npm. Contoh di bawah ini menunjukkan cara menghapus instalasi modul express.

npm uninstall express

Apa itu file package.json 

File “package.json” digunakan untuk menyimpan metadata tentang proyek tertentu. Informasi ini menyediakan informasi yang dibutuhkan bagi Node package manager untuk memahami bagaimana proyek harus ditangani bersama dengan ketergantungannya.

File package.json tersebut berisi informasi seperti deskripsi proyek, versi proyek dalam distribusi tertentu, informasi lisensi dan data konfigurasi.

File package.json tersebut biasanya terletak pada direktori root dari sebuah proyek Node.js.

Mari kita ambil contoh bagaimana penampilan struktur modul ketika diinstal melalui npm.

Snapshot di bawah menampilkan isi file dari modul express ketika dimasukkan ke dalam proyek Node.js Anda. Terlihat dari snapshot tersebut bahwa file package.json berada di dalam folder express.

 

Jika Anda membuka file package.json, Anda akan melihat banyak informasi di dalam file.

Di bawah ini adalah snapshot dari sebagian file. express@~4.13.1 menyebutkan nomor versi dari modul express yang sedang digunakan.

 

Ringkasan

  • Modul dalam Node.js adalah enkapsulasi logis dari kode dalam satu unit. Pemisahan ke dalam modul membuat kode lebih mudah dikelola dan dijaga untuk tujuan di masa mendatang.
  • Ada banyak modul yang tersedia di pasaran yang dapat digunakan di dalam Node.js. Contohnya seperti modul express, underscore, MongoDB, dll.
  • Node package manager (npm) digunakan untuk mendownload dan menginstal modul yang kemudian dapat digunakan dalam aplikasi Node.js.
  • Kita dapat membuat, memperluas/mengembangkan, dan juga mempublish modul custom NPM.
  • Node package manager memiliki seperangkat perintah lengkap untuk mengelola modul npm pada sistem lokal seperti perintah instalasi, penghapusan instalasi, pencarian, dll.
  • File package.json tersebut digunakan untuk menampung seluruh informasi metadata untuk modul npm.

Leave a Reply

Your email address will not be published. Required fields are marked *