HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Pengertian NPM Sebuah Dasar Untuk Pemula

Apa Itu NPM ?

NPM (Node Package Manager) adalah sebuah repository online di mana penggunanya dapat membagikan modul Node.js dan aplikasi karyanya. NPM terdiri dari klien baris perintah yang berinteraksi dengan registri jarak jauh. Ini memungkinkan pengguna untuk menggunakan dan mendistribusikan modul JavaScript yang tersedia di registri.

Registri tidak memiliki proses pemeriksaan untuk pengiriman, yang berarti bahwa paket yang ditemukan di sana mungkin berkualitas rendah, tidak aman atau berbahaya. Sebaliknya, NPM mengandalkan laporan pengguna untuk menghapus paket jika melanggar kebijakan karena kualitasnya rendah, tidak aman atau jahat.

Jika ingin menggunakan sebuah modul cukup dengan mencarinya pada repository ini mengunduh, lalu menginstallnya di komputer.  NPM juga merupakan command line yang digunakan untuk menginstall modul-modul tersebut beserta dependency-nya.

Sejarah NPM

NPM seluruhnya ditulis dalam JavaScript dan dikembangkan oleh Isaac Z. Schlueter sebagai hasil dari “melihat pengemasan modul dilakukan dengan sangat buruk” dan dengan inspirasi dari proyek serupa lainnya seperti PEAR (PHP) dan CPAN (Perl).

Kerusakan penting

  • Pada Maret 2016, NPM menarik perhatian pers setelah sebuah paket bernama left-pad , yang secara historis digunakan sebagai contoh yang telah menjadi ketergantungan banyak paket JavaScript populer, tidak dipublikasikan sebagai akibat dari sengketa penamaan. Meskipun paket tersebut diterbitkan ulang tiga jam kemudian, hal itu menyebabkan gangguan yang meluas, menyebabkan NPM mengubah kebijakannya terkait pembatalan penerbitan untuk mencegah kejadian serupa di masa mendatang.
  • Pada Februari 2018, masalah ditemukan di versi 5.7.0 di mana menjalankan sudo npm di sistem Linux akan mengubah kepemilikan file sistem, merusak sistem operasi secara permanen.
  • Pada Juli 2018, kredensial NPM dari pengelola paket eslint-scope populer disusupi sehingga menghasilkan rilis berbahaya dari eslint-scope , versi 3.7.2. Kode berbahaya menyalin kredensial NPM dari mesin yang menjalankan eslint-scope dan mengunggahnya ke penyerang.
  • Pada November 2018, ditemukan bahwa paket berbahaya telah ditambahkan sebagai dependensi ke versi 3.3.6 dari event-stream paket populer. Paket berbahaya, yang disebut flatmap-stream , berisi muatan terenkripsi yang mencuri bitcoin dari aplikasi tertentu. Administrator NPM menanggapi dengan menghapus paket yang melanggar. 
  • Pada bulan April 2020, paket kecil yang disebut is-promise mengakibatkan penghentian aplikasi dan penerapan tanpa server di seluruh dunia karena menjadi ketergantungan banyak aplikasi besar dan penting.

Cara Kerja NPM

Perlu diketahui bahwa dua role yang dikerjakan NPM untuk mendalami pengetahuan tentang apa itu NPM dan bagaimana cara kerjanya :

  1. Sebagai repositori untuk menerbitkan project open-source Node.js. Yang berarti, platform ini menjadi wadah offline dimana siapapun dapat menerbitkan dan membagikan tool yang ditulis dengan JavaScript.
  2. Npm adalah tool command line yang dapat menyalurkan interaksi pada platform online, contohnya browser dan server. Utilitas ini dapat menginstall dan uninstall package, mengelola versi dan dependensi yang diperlukan untuk menjalankan proyek.

Untuk menggunakannya harus menginstall Node.js sebagaimana Node.js dan NPM berada dalam satu bundle.

Utilitas command line NPM dapat membuat node.js bekerja dengan baik. Untuk menggunakan packagenya, sebuah proyek harus memiliki file bernama package.json. Di dalam package tersebut akan mendapati meta data tertentu pada proyeknya.

Meta data tersebut menunjukkan beberapa aspek dari proyek dengan urutan sebagai berikut :

  1. Nama proyek
  2. Versi
  3. Deskripsi
  4. Entry point
  5. Test command
  6. Repositori git
  7. Keyword
  8. Lisensi
  9. Dependensi
  10. devDependency

Meta data dapat tersebut akan mempermudah identifikasi proyek dan berlaku juga sebagai dasar untuk user dalam mendapatkan informasi proyek.

Berikut adalah contoh bagaimana dapat mengidentifikasi proyek melalui meta datanya :

{
   "name": "hostinger-npm",
   "version": "1.0.0",
   "description": "npm guide for beginner",
   "main": "beginner-npm.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "keywords": [
     "npm",
     "example",
     "basic"
   ],
   "author": "Hostinger International",
   "license": "MIT",
   "dependencies": {
     "express": "^4.16.4"
   }
}
  1. Bernama hostinger-npm.
  2. Versi 1.0.0.
  3. Merupakan npm guide for beginners.
  4. Entry point dari proyek ini adalah beginner-npm.js.
  5. Keyword untuk menemukan proyek dalam repositori adalah npm, example dan basic.
  6. Pembuat proyek ini adalah Hostinger International.
  7. Proyek ini terlisensi oleh MIT.
  8. The dependencies atau modul lain yang digunakan adalah express 4.16.4.

Cara Install NPM Modules Dan Memulai Sebuah Proyek

1. Install Node.js dan NPM

Mengunduh http://installer Node.js dari situsnya.

Jika menginginkan fitur-fitur Node.js terbaru dapat mengunduh installer versi paling kini yang ada di sebelah kanan. Namun, tidak ada salahnya untuk menggunakan installer dengan versi yang lebih lama apabila tidak memerlukan fitur terbaru.

2. Cek Instalasi Node.js dan NPM

Untuk memastikan instalasi Node.js dan NPM berjalan lancar dapat memeriksanya dengan menjalankan dua perintah berikut melalui Command Prompt :

$ node -v 
v0.10.9

Untuk mengetahui apakah NPM juga telah terinstall, tuliskan npm -v. Command ini akan menunjukkan versi NPM seperti :

$ npm -v 
1.2.25

Npm terkenal akan oneline installernya :

$ curl https://npmjs.org/install.sh | sh

Setelah di install dapat mengupdate NPM karena versi terbaru akan selalu diupdate secara reguler. Untuk mengupdatenya, cukup download installer dari situs node.js dan jalankan lagi. Versi terbarunya akan mengganti versi yang sebelumnya secara otomatis.

Namun juga dapat mengupdatenya dengan command ini :

$ npm update -g npm

Membuat Proyek Menggunakan NPM

Jika telah memiliki Node dan NPM lalu ingin membuat sebuah proyek, jalankan command npm init. Command ini akan memulai proyek.

Sebagai contoh, mari buat direktori bernama test-npm dan cd. Sekarang, jalankan command npm :

$ npm init

Command ini sebagai tool untuk membuat file package.json untuk proyek yang dijalankan. Setelah melalui langkah-langkah npm init, file package.json akan dibuat dan ditempatkan pada direktori saat ini.

Command init dari Node package manager menjelaskan tentang proses yang dijalankan command tersebut :

mymacs-MacBook-Pro: test-npm mymac$ npm init
This utility will walk you through creating a package.json file. 
It only covers the most common items, and tries to guess sane defaults. 

See `npm help json` for definitive documentation on these fields and exactly what they do. 

Use `npm install --save` afterwards to install a package and save it as a dependency in thepackage.json file. 

Press ^C at any time to quit. 
name: (test-npm)

Respond untuk prompt npm init :

name: (test-npm)hostinger-npm
version: (1.0.0)1.0.0
description: npm guide for beginner
entry point: (index.js) beginner-npm.js
test command:
git repository:
keywords: npm, example, beginner
author: Hostinger Internationallicense: (ISC) MIT

Tekan “Enter” untuk menyetujuinya. Lalu, npm init akan memberi sebuah preview dari package.json yang akan dibuat.

Outputnya akan terlihat seperti ini :

{
   "name": "hostinger-npm",
   "version": "1.0.0",
   "description": "npm guide for beginner",
   "main": "beginner-npm.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "keywords": [
     "npm",
     "example",
     "basic"
   ],
   "author": "Hostinger International",
   "license": "MIT",
   "dependencies": {
     "express": "^4.16.4"
   }
}

Is this OK? (yes) yes
mymac-MacBook-Pro: test-npm mymac$

Ketikkan “yes” dan tekan “Enter” untuk menyetujui, simpan package.json. Maka dapat menggantinya nanti, entah dengan mengedit filenya langsung atau melalui comman npm init lagi

Menginstall NPM Modules

Package pada node.js memuat semua fle yang dibutuhkan sebagai module. Module adalah library JavaScript yang dapat memasukkan ke dalam proyek.

Menginstall modul adalah hal yang paling mendasar untuk dilakukan ketika menggunakan Node package manager. Berikut adalah command untuk install modul ke direktori saat ini :

$ npm install <module> 
$ npm i <module>

Pada command di atas, ganti <module> dengan nama module yang ingin di install. Dengan perintah tersebut, modul akan langsung dipasang di komputer.

Membuat Aplikasi Sederhana dengan NPM

Karena Node.js dan NPM sudah tersedia di komputer, sekarang mari coba membuat aplikasi sederhana bernama “Hello World”.

Untuk melakukan ini dianjurkan untuk menggunakan Windows PowerShell. Windows PowerShell dapat dicari melalui menu search di taskbar atau di dalam menu start.

  • Ketikkan perintah berikut ini :
c:\Users\<username>\myprogram.js

Jangan lupa untuk mengganti <username> dengan username komputer  sebelum menjalankan perintah tersebut.

Intinya, perintah tadi digunakan untuk membuat file bernama myprogram.js. Ketika dijalankan, akan ada pernyataan bahwa file tersebut tidak ada. Kemudian, sistem akan menanyakan jika ingin membuat file tersebut atau tidak. Pada titik ini, klik Yes untuk mengiyakannya.

  • Bukalah file myprogram.js di text editor yang dimiliki. Lalu, masukkan kode ini ke dalamnya :
var http = require('http');
 http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/html'});
   res.end('Hello World');
}).listen(8080);

Jika sudah, simpan dan tutup filenya.

  • Masuklah ke Windows PowerShell lagi dan jalankan perintah berikut :
node \users\<your_username>\myprogram.js

Perintah ini berfungsi untuk menjadikan komputer sebagai server yang menjalankan aplikasi sederhana tadi.

Windows Defender akan memperingatkan bahwa komputer dapat menerima traffic. Karena ini hanya percobaan tinggal membiarkan peringatan tersebut.

Sekarang, jika ingin mengakses http://localhost:8080 melalui web browser, teks “Hello World” akan muncul pada halaman tersebut.

Untuk mematikan aplikasi ini tinggal masuk ke PowerShell dan menekan kombinasi tombol Ctrl dan C pada keyboard.

5/5 - (2 votes)
Risa Y

Recent Posts

Mengenal Manfaat GPN Dari Filosofi Logonya!

Apakah Anda menggunakan kartu ATM atau kartu debit? Suka bertransaksi secara cashless? Sepertinya Anda perlu…

23 hours ago

Ingin Membuat Website E-Commerce Yang Menarik? Perhatikan Tips Ini

Design website toko online tidak hanya soal estetika, tapi juga UX yang bagus secara keseluruhan.…

2 days ago

Apa Saja Jenis Proyek yang Bisa Dikerjakan UX Designer? Yuk Simak Di Sini

Sebelum memulai karir Anda sebagai desainer UX, Anda harus membuat portofolio yang mencakup semua pengalaman…

3 days ago

Aktifkan Keep-Alive Untuk Meningkatkan Performa Website Anda

Keep-Alive memungkinkan browser pengunjung Anda mendownload semua konten (JavaScript, CSS, gambar, video, dll) melalui koneksi…

4 days ago

Baca Ini Untuk Pelajari Apa Saja Job Description Web Developer

Job description seorang web developer adalah membuat situs web menggunakan berbagai bahasa pemrograman. Tanggung jawab…

5 days ago

Rekomendasi Tools A/B Testing untuk Meningkatkan Conversion Rate

Secara default, WordPress tidak mendukung A/B testing. Tapi jangan khawatir. Di bawah ini, kami telah…

6 days ago