Lompat ke konten Lompat ke sidebar Lompat ke footer

√ Apa itu NPM? Panduan Pemula

Ruang Service.Com \\ Apa itu NPM? Panduan Pemula -  NPM adalah singkatan dari Node Package Manager. Ini adalah perpustakaan dan registry untuk paket perangkat lunak JavaScript.

Apa itu NPM?

npm juga memiliki alat baris perintah untuk membantu Anda menginstal paket yang berbeda dan mengelola dependensinya.

npm gratis dan diandalkan oleh lebih dari 11 juta pengembang di dunia. Bisa dibilang itu masalah besar. Mereka open-source dan telah menjadi pusat berbagi kode Javascript. Ada lebih dari satu juta paket yang tersedia di npm.

Apa itu NPM? Panduan Pemula


sebelumnya, npm adalah:

  • repositori online untuk penerbitan proyek sumber terbuka Node.js 
  • utilitas baris perintah untuk berinteraksi dengan repositori tersebut yang membantu menginstal paket dan mengelola versi dan dependensi paket

Apa itu Node.js?

Node.js adalah lingkungan runtime yang memungkinkan Anda menjalankan JavaScript di backend.

Lingkungan runtime seperti sistem operasi kecil. Ini menyediakan semua fungsi yang diperlukan untuk menjalankan program. Node muncul karena JavaScript dulu hanya berfungsi di web browser . Ini karena browser memiliki mesin untuk menerjemahkan JavaScript ke dalam kode yang sulit dipahami mesin. 

awalnya backend (yaitu lapisan data aplikasi) tidak memiliki mesin ini. Di situlah Node.js masuk. Ini bertindak sebagai mesin JavaScript yang menerjemahkan kode Anda, memungkinkannya dijalankan di mesin fisik.

Jika Anda ingin mempelajarinya lebih lanjut, nanti akan saya buatkan panduan untuk pemula agar lebih mengenal untuk Node.js .

Oke, tapi bagaimana hubungannya dengan npm? Pada dasarnya, npm melacak semua paket (kode bersama) yang Anda gunakan.

Mengapa menggunakan NPM?

Sangat mungkin untuk mengelola dependensi proyek Anda sendiri. Namun, seiring dengan pertumbuhan proyek Anda, ini bisa menjadi tugas yang sangat berat.

Di sinilah manajer paket seperti npm masuk. npm memecahkan masalah ini dengan genggaman dan manajemen paket untuk proyek Anda. 

Anda mendefinisikan semua dependensi proyek Anda di dalam file package.json Anda. Kapan Anda atau anggota tim perlu memulai proyek Anda, yang harus mereka lakukan hanyalah menjalankan npm install .

Ini akan segera menginstal semua dependensi yang diperlukan untuk proyek Anda. Dalam file package.json, Anda juga dapat menentukan versi mana yang bergantung pada proyek Anda. Ini berguna untuk mencegah perbaikan dari paket-paket ini merusak proyek Anda.

Apa itu package.json?

File package.json dibuat oleh manajer paket Anda (dalam hal ini npm) dan ada di root proyek di JavaScript/Node.json. Untuk menghasilkan file package.json Anda dapat menjalankan npm init . Anda kemudian akan diminta untuk mengisi beberapa metadata untuk proyek Anda seperti:

  • Nama – nama proyek Anda 
  • Versi – versi saat ini dalam format major.minor.patch (1.0.0, 1.2.3, dll.) 
  • Deskripsi – deskripsi proyek 
  • Lisensi – lisensi proyek Anda berada di bawah, sehingga orang tahu bagaimana mereka mengizinkan untuk menggunakannya . Daftar lengkap lisensi di situs Pertukaran Data Lisensi Perangkat Lunak .

File package.json dalam format JSON dan digunakan untuk mengelola dependensi proyek, skrip, versi, dll. Berikut adalah contoh sederhana:

{
  "name": "My cool project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "directories": {
    "test": "test"
  },
  "scripts": {
    "test": "jest",
  },
  "license": "ISC"
}

Skrip npm

Di dalam file package.json juga terdapat properti scripts. Ini dapat digunakan untuk menjalankan alat baris perintah yang diinstal dalam konteks proyek lokal. Skrip umum yang mungkin Anda gunakan adalah hal-hal seperti:

  • npm test—untuk menjalankan pengujian Anda 
  • npm build—untuk membangun proyek Anda 
  • npm start—untuk menjalankan proyek Anda secara lokal

Tentu saja, Anda fleksibel untuk menyesuaikan skrip yang masuk akal untuk proyek spesifik Anda.

Dependensi vs. devDependencies

Ada dua properti untuk dependensi dalam file package.json, dependencies dan devDependencies . Jadi apa bedanya?

Ketergantungan adalah daftar modul/paket yang diperlukan untuk menjalankan proyek Anda. Ini diinstal menggunakan npm install untuk menambahkan paket ke daftar dependensi.

devDependencies, kependekan dari dependensi pengembangan, adalah modul/paket yang TIDAK diperlukan untuk menjalankan proyek Anda. Ini sering merupakan hal-hal yang membantu proses pengembangan tetapi bukan bagian dari proyek itu sendiri. Misalnya, linter seperti eslint, pengujian, dll.

Memahami ketergantungan

Ada baiknya untuk memahami dependensi semantik karena berbagai bug atau masalah keamanan dapat muncul karenanya. Pertama-tama mari kita lihat contoh beberapa dependensi:


"dependencies": {
  "bcryptjs": "^2.4.3",
  "cors": "^2.8.5",
  "dotenv": "^6.1.0",
  "express": "4.16.4",
},
"devDependencies": {
    "eslint": "~4.19.1",
    "mocha": "^6.2.0",
    "prettier": "^1.19.1",
  }

Versi semantik

Versi di atas dalam format MAJOR.MINOR.PATCH. Jadi, apa artinya ini bagi Anda?

  • Versi UTAMA melibatkan perubahan yang melanggar—kemungkinan Anda perlu menghadapi paket dalam proyek Anda ketika versi utama telah berubah. 
  • Perubahan versi MINOR kompatibel ke belakang, artinya harus tanpa merusak sesuatu (yah, orang bisa berharap) 
  • Perubahan versi PATCH adalah perbaikan bug yang kompatibel ke belakang, atau perbaikan kecil lainnya

Anda juga akan melihat beberapa karakter sebelum versi package.json di atas. Mari kita bahas beberapa di antaranya:

  • ^ (tanda sisipan) sebelum versi patch dan hal kecil untuk versi 1.0.0 dan di atasnya, patch untuk versi 0.X >=0.1.0, dan tidak ada pembaruan untuk versi 0.0.X. 
  • ~ (tilde) memungkinkan perubahan tingkat patch jika versi minor ditentukan. Mengizinkan perubahan tingkat kecil jika tidak. 
  • Tidak ada simbol sebelum versi berarti versi paket harus sama persis, dan tidak boleh dipaksakan

Npm install vs. Npm ci

Untuk menginstal paket atau modul ke proyek Anda, Anda memiliki dua opsi: npm install dan npm ci . Kapan Anda harus menggunakan masing-masing?


instal npm npm ci
Akan membuat package-lock.json jika belum ada Harus memiliki package-lock.json yang sudah ada
Upgrade ke versi terbaru dari sebuah paket dengan tanda versi ^ Tidak akan memperbarui kunci paket jika dependensi tidak cocok, sebaliknya akan keluar karena kesalahan
Dapat menginstal dependensi individu melalui npm install <package-name> Hanya dapat menginstal seluruh proyek, bukan dependensi individu
Perbarui node_modules yang ada Selalu hapus node_modules dan mulai baru
Dapat menulis ke package-lock.json yang ada Tidak akan pernah menulis ke package.json atau kunci paket mana pun: pemasangan dibekukan
npm install -produksi optimal untuk lingkungan produksi npm ci optimal untuk lingkungan lokal

Apa yang membuat paket bagus?

Sangat mudah untuk mendeteksi objek mengkilap saat mengunduh paket. Sebelum Anda menghancurkan perintah instal itu, berikut adalah beberapa hal yang perlu dipertimbangkan:

  • Apakah proyek masih dipertahankan? Lihat terakhir kali akhir. Hal terakhir yang Anda inginkan adalah menjadikan paket sebagai bagian inti dari proyek Anda, untuk menyadari bahwa itu tidak lagi dipertahankan. Ini dapat menyebabkan pelanggaran keamanan atau bug. 
  • Berapa banyak tayang hari ini? Itu tidak perlu menjadi kontes popularitas, jika Anda menggunakan paket dalam lingkungan bisnis, Anda ingin memastikannya memiliki reputasi. Lebih banyak orang yang menggunakannya berarti lebih banyak perhatian pada kode berarti lebih banyak kemungkinan bug terburuk yang telah diselesaikan. 
  • Bagaimana dokumentasinya? Saat Anda buntu, akan sangat membantu jika paket tersebut memiliki dokumentasi yang baik, jika tidak, Anda memotret sendiri dalam bayangan. 
  • Apakah itu memiliki komunitas? Periksa masalah paket Github, apakah aktif? Adalah baik untuk memiliki tempat untuk mencari bantuan jika perlu. 

Penutup

Kami telah membahas apa yang membuat sebuah paket bagus, dasar-dasar pengelolaan dependensi, dan apa itu package.json. Tentu saja, selalu baik untuk mempertimbangkan apakah menggunakan paket pihak ketiga menguntungkan untuk menulis kode sendiri. 

Yang mengatakan, ada beberapa proyek keren di luar sana yang kemungkinan akan menghemat banyak waktu Anda. Selamat menjelajah!

Ruang Service
Ruang Service Situs website Informasi, Tutorial, Android, Komputer, jasa dan seputar blogger lainya.

Posting Komentar untuk "√ Apa itu NPM? Panduan Pemula"