Salah satu fitur npm CLI yang paling penting dan berguna adalah fitur ini sangat dapat disesuaikan. Kemungkinan untuk menyesuaikannya sangat besar. Ini memungkinkan semua kategori pengguna untuk bekerja secara efektif dengan npm - dari organisasi besar hingga pengembang independen.
Salah satu mekanisme kustomisasi npm adalah
.npmrc
. Saya sudah lama mengamati diskusi seputar file ini. Saya terutama ingat saat saya berpikir bahwa dengan menggunakan file ini Anda dapat mengubah nama direktorinyanode_modules
... Untuk waktu yang lama, saya tidak begitu mengerti betapa bermanfaatnya itu .npmrc
, dan memang bagaimana menggunakannya sama sekali.
Oleh karena itu, hari ini saya ingin berbicara tentang beberapa kemungkinan untuk menyesuaikan lingkungan kerja Node.js menggunakan . Pengaturan ini membantu saya menjadi lebih efisien saat menyiapkan modul Node.js dan saat mengerjakan aplikasi jangka panjang.
.npmrc
Otomatisasi perintah npm init sedikit lebih maju dari biasanya
Saat membuat modul baru dari awal, pekerjaan biasanya dimulai dengan sebuah tim
npm init
. Beberapa pengembang tidak tahu satu atau dua hal tentang perintah ini. Faktanya adalah bahwa proses pembuatan modul baru bisa sangat otomatis dengan menggunakan perintah tampilan npm config set ...
yang memungkinkan Anda menyetel opsi yang diganti secara default saat Anda npm init
mulai mengajukan pertanyaan tentang proyek baru.
Yakni, ini adalah bagaimana Anda dapat menentukan nama, alamat email, URL situs web, informasi lisensi, versi awal modul. Ini adalah perintah berikut:
npm config set init.author.name "Hiro Protagonist"
npm config set init.author.email "hiro@showcrash.io"
npm config set init.author.url "http://hiro.snowcrash.io"
npm config set init.license "MIT"
npm config set init.version "0.0.1"
Dalam contoh ini, saya telah menetapkan beberapa nilai default untuk pengembang
Hiro
. Data pribadi pengembang tidak terlalu sering berubah, jadi menyetel beberapa nilai default memungkinkan Anda untuk tidak memasukkannya secara manual setiap kali.
Selain itu, ada beberapa nilai yang terkait dengan modul.
Yang pertama adalah lisensi yang akan otomatis ditawarkan oleh tim
npm init
. Saya pribadi lebih suka menggunakan lisensi MIT. Sebagian besar pengembang Node.js melakukan hal yang sama. Jadi, di sini Anda dapat mengatur apa pun yang Anda inginkan. Kemampuan untuk secara otomatis memilih lisensi yang Anda gunakan merupakan pengoptimalan yang baik.
Nilai kedua adalah versi awal modul. Ini memang sepele, tapi kesempatan ini benar-benar membuat saya bahagia. Faktanya adalah setiap kali saya mulai membuat modul, saya tidak ingin memulai dengan versi 1.0.0, yang ditawarkan secara default
npm init
. Saya selalu mengatur nomor versi ke 0.0.1
, dan kemudian, saat saya mengerjakan modul, menambahnya menggunakan perintah seperti npm version [ major | minor | patch ]
.
Mengubah registri npm standar
Kemajuan tidak berhenti, jadi ekosistem npm memiliki lebih banyak peluang untuk bekerja dengan pendaftar paket. Misalnya, Anda mungkin perlu menggunakan sebagai cache registri dari modul yang pengembang tahu akan dibutuhkan untuk aplikasi tersebut. Atau mungkin seseorang memutuskan untuk menggunakan registri modul yang telah lulus semacam verifikasi dan sertifikasi tambahan. Bahkan ada registry modul terpisah untuk Yarn, tetapi topik ini, meskipun sangat menarik, tidak berlaku untuk percakapan kita hari ini.
Jadi, jika Anda perlu menggunakan registri modul Anda sendiri dengan npm, ini dilakukan dengan perintah satu baris sederhana:
npm config set registry "https://my-custom-registry.registry.nodesource.io/"
Alamat registri konvensional yang digunakan dalam perintah ini dapat diganti dengan alamat registri yang kompatibel. Untuk mengatur ulang pengaturan ini ke nilai default, Anda dapat menjalankan perintah yang sama dengan alamat registri standar yang diteruskan kepadanya:
npm config set registry "https://registry.npmjs.com/"
Parameter loglevel dan setelan apa yang dicetak oleh perintah npm install ke konsol
Saat Anda menginstal modul menggunakan perintah
npm install
, seluruh air terjun informasi jatuh ke tangan Anda. Alat baris perintah, secara default, membatasi jumlah informasi tersebut. Ada berbagai tingkat detail dalam output. Ini dapat dikonfigurasi baik saat menginstal npm, atau dengan mengatur parameter yang ditulis .npmrc
dan digunakan secara default. Ini dilakukan dengan menggunakan perintah view npm config set loglevel=»..»
. Berikut adalah opsi untuk nilai parameter loglevel
- dari yang paling "singkat" hingga yang paling "banyak bicara":
- diam
- kesalahan
- memperingatkan
- http
- info
- bertele-tele
- bodoh
Beginilah tampilan instalasi paket saat menggunakan parameter
loglevel
yang ditulis ke silent
.
Mode senyap untuk menampilkan informasi saat menginstal paket
Inilah yang terjadi jika diatur
loglevel
ke silly
.
Modus keluaran konyol saat menginstal paket
Jika Anda ingin lebih banyak (atau sedikit lebih sedikit) informasi ditampilkan saat menginstal paket daripada biasanya
loglevel
, Anda dapat mengubah nilai default. Misalnya - seperti ini:
npm config set loglevel="http"
Jika Anda bereksperimen sedikit dengan pengaturan ini dan memutuskan untuk mengatur ulang ke default yang digunakan CLI npm, jalankan perintah berikut:
npm config set loglevel="warn"
Mengubah tempat npm menginstal modul global secara default
Ini adalah kesempatan yang luar biasa. Perlu sedikit mengutak-atik untuk mendapatkan npm untuk menginstal paket global ke lokasi baru, tetapi usahanya sepadan dengan usahanya. Intinya adalah dengan bantuan beberapa perintah, Anda dapat mengubah tempat npm, secara default, menginstal modul global. Mereka biasanya dipasang di folder sistem dengan hak istimewa, yang membutuhkan otoritas administratif. Pada sistem berbasis UNIX, ini berarti bahwa perintah diperlukan untuk menginstal modul global
sudo
.
Jika Anda menulis di parameter
prefix
jalur ke direktori tanpa hak istimewa, misalnya,~/.global-modules
, ini berarti Anda tidak perlu melakukan otentikasi saat memasang modul global. Inilah salah satu kekuatan penyiapan ini. Poin kuat lainnya adalah bahwa modul yang diinstal secara global tidak akan lagi berada di direktori sistem, yang mengurangi kemungkinan beberapa modul berbahaya (sengaja atau tidak) akan melakukan sesuatu yang buruk pada sistem.
Pertama, mari buat folder baru dengan nama
global-modules
dan tulis ke prefix
:
mkdir ~/.global-modules
npm config set prefix "~/.global-modules"
Selanjutnya, jika kami tidak memiliki file
~/.profile
, kami akan membuat file seperti itu di direktori root pengguna. Mari tambahkan yang berikut ke file ini:
export PATH=~/.global-modules/bin:$PATH
Baris dalam file ini
~/.profile
akan menambahkan folder global-modules
ke PATH
dan akan menggunakan folder ini untuk menginstal modul npm global.
Sekarang, di terminal, Anda perlu menjalankan perintah berikut untuk memperbarui
PATH
menggunakan file yang baru saja Anda edit ~/.profile
:
source ~/.profile
Hasil
Artikel ini ditulis untuk membantu siapa saja yang ingin menyiapkan lingkungan pengembangan Node.js persis seperti yang mereka inginkan. Berikut adalah dokumentasi untuk perintah tersebut
npm config
. Ini filenya .npmrc
.
Bagaimana Anda mengkonfigurasi npm?