Node Package Manager
Untuk mempercepat pengembangan aplikasi saat ini, industri gencar menggunakan module atau package luar. Semakin kompleks aplikasi, semakin banyak module atau package yang digunakan. Ini adalah area di mana package manager diperlukan.
Node Package Manager (NPM) adalah pengelola package JavaScript yang dapat membantu kita mengelola package yang tersedia di https://www.npmjs.com/, dan otomatis terpasang ketika Node.js dipasang pada komputer kita. Kita sebelumnya telah mencoba NPM saat membuat proyek JavaScript; itu dapat dioperasikan melalui CMD atau Terminal.
Selain untuk membuat proyek JavaScript, NPM dapat digunakan untuk memasang atau menghapus third party module (modul pihak ketiga). Modul yang dipasang melalui NPM akan disimpan pada folder node_modules.
Pemasangan modul melalui NPM dapat dilakukan dalam dua jenis: global dan lokal. Modul yang dipasang secara global berfungsi sebagai core module dan dapat digunakan di mana pun, tetapi modul yang dipasang secara lokal hanya dapat digunakan dalam cakupan project Node.js yang memasangnya.
Namun, untuk saat ini, sangat menyarankan kita untuk memasang modul pihak ketiga secara lokal saja. Hindari memasang modul secara global karena akan menyebabkan banyak masalah. Jika ingin menjalankan paket Node.js di mana pun kita inginkan, gunakan npx.
MomentJS merupakan salah satu modul pihak ketiga yang populer untuk mengelola waktu di Node.js. Untuk memasangnya secara lokal, jalankan perintah berikut pada Terminal di project Node.js.
npm install moment
Setelah pemasangan selesai, kita bisa menggunakan module moment pada proyek Node.js kita.
const moment = require('moment');
const date = moment().format("MMM Do YY");
console.log(date);
/**
* output:
* Jan 11th 21
*/
Package yang dipasang secara lokal melalui NPM akan tercatat di dalam berkas package.json, lebih tepatnya pada objek dependencies.
{
"name": "nodejs-basic",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"moment": "^2.29.1"
}
}
Ini menunjukkan bahwa proyek Node.js kita memiliki ketergantungan atau dependencies terhadap module moment. Informasi ini berguna bila kita hendak membagikan proyek Node.js ke orang lain. Mereka akan mengetahui modul pihak ketiga apa yang akan diinstal ketika memasang proyek kita melalui perintah npm install.
Untuk menghapus modul pihak ketiga, kita bisa gunakan perintah npm uninstall <package-name>. Bila kita ingin menghapus modul moment, maka tuliskan:
npm uninstall moment
Terakhir, NPM juga bisa berfungsi sebagai runner script. Ia dapat menjalankan script yang dituliskan pada objek scripts yang ada di berkas package.json. Dengan menetapkan script pada package.json, kita dapat membuat jalan pintas untuk menjalankan Node.js process. Selain itu, kita bisa membuat lebih dari satu script sesuai dengan environment yang kita inginkan.
"scripts": {
"start-dev": "NODE_ENV=development node app.js",
"start": "NODE_ENV=production node app.js"
}
Untuk menjalankan script, kita cukup menggunakan perintah npm run <nama-script>. Berdasarkan contoh di atas, jika kita ingin menjalankan di environment development maka tuliskan perintah:
npm run start-dev
Latihan: Node Package Manager
Kini kita sudah mengenal bagaimana cara memasang module pihak ketiga melalui NPM. Saatnya latihan!
Pada latihan kali ini kita akan mencoba memasang module lodash melalui NPM. Namun sebelum itu, buat dulu folder baru bernama node-package-manager dan berkas index.js di dalamnya.
Pada berkas index.js, tuliskan starter code berikut:
const _ = // TODO
const myOddEvenArray = _.partition([1, 2, 3, 4, 5, 6], (n) => n % 2);
console.log(myOddEvenArray);
Tugas kita ialah:
1. Pasang package lodash pada proyek nodejs-basic.
2. Gunakan package lodash pada TODO sehingga index.js dapat dieksekusi dengan baik.
Bila kita telah mengerjakan semuanya dengan benar, eksekusi berkas index.js dengan perintah:
node ./node-package-manager/index.js
Maka console akan menghasilkan output berikut:
0 Komentar
Berkomentar dengan bijak