Jika kita sedang belajar NodeJs, maka kalian akan sering berurusan dengan npm. Jadi apa itu npm?

Npm adalah singkatan dari Node Package Manager. Npm bertugas sebagai alat untuk mengelola semua plugin atau depedency dari proyek nodejs yang akan kamu buat.

Jadi belajar tentang npm sangat diperlukan saat kamu ingin belajar tentang nodejs.

Dengan NPM kamu akan bisa:

  1. Membuat proyek baru
  2. Menginstall depedency untuk proyek kamu
  3. Menjalankan script lewat command line

Semua config NPM akan disimpan kedalam sebuah file yang bernama package.json

Jadi package.json ini akan berfungsi sebagai sumber pengaturan node dalam proyek kita.

Menginstall NPM

NPM sendiri secara otomatis akan ikut terinstall saat kamu menginstall nodejs. Jika kamu belum menginstall nodejs, kamu bisa baca tutorial sebelumnya disini: Belajar NodeJs - Dasar dan Persiapan Belajar NodeJs

Jika npm sudah terinstall di laptop kamu, kita lanjutkan ke step selanjutnya.

Membuat proyek dengan NPM

Ada 2 cara untuk membuat sebuah proyek baru dengan NPM.

Yang pertama secara otomatis dan secara manual.

Pertama kamu buat folder baru misalnya: program-nodejs

Lalu pergi ke dalam folder tersebut.

mkdir program-nodejs

Jika kamu ingin membuat package.json secara otomatis, maka jalankan perintah ini di dalam folder yang sudah kamu buat sebelumnya.

cd program-nodejs
npm init

Nanti akan muncul guideline di terminal kamu,

Silakan ikutin saja step-step yang sudah disediakan oleh NPM. Seperti gambar dibawah ini.

Belajar Nodejs
Contoh npm init

Jika sudah selesai, NPM akan membuat sebuah file package.json. Nanti masih bisa kamu edit lagi kok.

Belajar Nodejs
Hasil dari package.json

Jadi command npm init membantu kamu membuat package.json tanpa harus membuatnya manual.

package.json berisi beberapa metadata dari proyek kamu dengan urutan sebagai berikut:

  • Nama proyek
  • Versi
  • Deskripsi
  • Entry point
  • Test command
  • Repositori git
  • Keyword
  • Lisensi
  • Dependensi
  • devDependency

Metadata dapat mempermudah identifikasi proyek dan berlaku juga sebagai dasar untuk kamu dalam mendapatkan informasi proyek tersebut.

Dibawah adalah isi package.json yang kita buat sebelumnya.

{
  "name": "belajar-nodejs",
  "version": "1.0.0",
  "description": "Belajar npm dan nodejs",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm"
  ],
  "author": "Agus Yusida",
  "license": "ISC"
}

Menginstall NPM Module

Pada file package.json sebelumnya, belum memiliki depedency atau plugin yang terinstall.

Bagaimana cara menambahkan plugin dengan npm?

Caranya adalah dengan command npm install <nama-module>

Misalnya kita ingin menambahkan module moment.js ke dalam proyek yang kita buat.

Maka tinggal jalankan perintah dibawah ini:

npm install moment

Npm akan mendownload file-file yang dibutuhkan. Semua plugin/module yang di install oleh NPM akan di taruh di folder node_modules

Setelah selesai, maka npm akan secara otomatis mengubah isi package.json.

Isinya akan seperti di bawah ini.

{
  "name": "belajar-nodejs",
  "version": "1.0.0",
  "description": "Belajar npm dan nodejs",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm"
  ],
  "author": "Agus Yusida",
  "license": "ISC",
  "dependencies": {
    "moment": "^2.29.1"
  }
}

Kita akan memiliki sebuah metadata dependencies yang nanti akan berisi list module/plugin yang sudah kita install.

Oh ya, perintah npm install juga akan membuat sebuah file package-lock.json yang berfungsi untuk mengunci versi dari module-module yang sudah kita install.

Perintah npm install bisa kita gunakan untuk menginstall module sebagai devDepedencies atau global

Bedanya adalah devDepedencies biasanya digunakan untuk module yang diperlukan hanya untuk proses development.

Sedangkan jika global, maka bisa diakses juga saat kita membuat proyek lainnya.

Contohnya:

Install sebagai devDependency

npm install moment --save-dev

Untuk insall secara global.

npm install moment -g

Menghapus Module Dengan NPM

Sebelumnya kita sudah belajar bagaimana menginstall module baru.

Sekarang bagaimana caranya untuk menghapus module yang sudah di install?

Gampang banget, tinggal jalankan command ini:

npm uninstall <nama-module>

#contohnya

npm uninstall axois
npm uninstall moment

Module akan secara otomatis dihapus dari depedency proyek kamu.

Gampang kan?

Membuat Script Dengan NPM

Selain untuk management module/package, NPM bisa digunakan untuk menjalakan script atau bash command.

Biasany script ini digunakan untuk keperluan developemnt, build proyek ataupun testing.

Contohnya menjalankan script dengan npm adalah seperti ini:

npm run <nama-script-kamu>

npm run build

npm run hello

Bagaimana cara membuat script di npm?

Buka file package.json dan edit dibagian scripts.

Misalnya kita akan membuat script dengan nama hello yang akan memprint text Hello Teman Ngide! saat dijalankan.

{
  "name": "belajar-nodejs",
  "version": "1.0.0",
  "description": "Belajar npm dan nodejs",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "hello": "echo \"Hello Teman Ngide\""
  },
  "keywords": [
    "npm"
  ],
  "author": "Agus Yusida",
  "license": "ISC",
  "dependencies": {
    "moment": "^2.29.1"
  }
}

Sekarang kamu bisa memanggil script tersebut dengan command:

npm run hello
Belajar Nodejs
Contoh npm script hello

Jika kalian mengikuti tutorial sebelumnya: Belajar NodeJs - Dasar dan Persiapan Belajar NodeJs. Maka kita bisa menambahkan script untuk running dengan NPM.

Tambahkan script baru di package.json seperti dibawah ini:

{
    "name": "belajar-nodejs",
    "version": "1.0.0",
    "description": "Belajar npm dan nodejs",
    "main": "index.js",
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "server": "node server.js"
        
    },
    "keywords": [
      "npm"
    ],
    "author": "Agus Yusida",
    "license": "ISC",
    "dependencies": {
      "moment": "^2.29.1"
    }
  }

Untuk run command jalankan:

npm run server

Hasilnya akan muncul seperti dibawah ini:

Belajar Nodejs
Contoh npm script server

Penutup

Jadi itulah part 2 dari series belajar nodejs kita. Di tutorial ini kita membahas tentang npm yaitu tools yang dipakai untuk management plugin/module di node.

Ada masih banyak command lagi yang bisa kamu explore sendiri di npm.

Untuk melihat list command lainnya bisa panggil: npm -l dan jangan lupa kunjungi dokumentasi npm disini: https://docs.npmjs.com/.

Setelah mengerti cara pakai npm, kamu bisa melanjutkan untuk belajar nodejs selanjutnya.

Series Belajar NodeJS Sebelumnya:

  1. Belajar NodeJs - Dasar dan Persiapan Belajar NodeJs

Series Belajar NodeJS Lainnya:

  1. Belajar NodeJs - Membuat Website Sederhana Dengan Nodejs
  2. Belajar NodeJs - Cara Handle Form Input di Nodejs
  3. Belajar NodeJs - Membuat CRUD dengan NodeJs dan MySql