Alias
Alias memungkinkan Anda menginstal paket dengan nama khusus.
Ambil kata Anda menggunakan lodash
di seluruh proyek Anda. Dan ada bug di lodash
yang merusak proyek Anda. Anda memiliki perbaikan tetapi tidak bisa digabungkan dengan lodash
. Biasanya Anda akan menginstal lodash
dari garpu Anda secara langsung (sebagai dependensi yang disimpan di git) atau menerbitkannya dengan nama yang berbeda. Jika Anda menggunakan solusi kedua Anda harus mengganti semua persyaratan dalam proyek Anda dengan dependensi baru nama (require('lodash')
=> require('awesome-lodash')
). Dengan alias, Anda memiliki opsi ketiga.
Publikasikan paket baru bernama awesome-lodash
dan instal menggunakan lodash
sebagai aliasnya:
pnpm add lodash@npm:awesome-lodash
Tidak ada perubahan kode yang diperlukan. Semua yang membutuhkan lodash
sekarang akan diselesaikan menjadi awesome-lodash
.
Terkadang Anda ingin menggunakan dua versi paket yang berbeda dalam proyek Anda. Mudah. Perhatikan contoh berikut dengan saksama:
pnpm add lodash1@npm:lodash@1
pnpm add lodash2@npm:lodash@2
Sekarang Anda dapat meminta versi pertama lodash melalui require('lodash1')
dan versi kedua melalui require('lodash2')
.
Ini menjadi lebih kuat ketika dikombinasikan dengan hooks (kait). Mungkin Anda ingin mengganti lodash
dengan awesome-lodash
di semua paket di node_modules
. Anda dapat dengan mudah mencapainya dengan .pnpmfile.cjs
berikut:
function readPackage(pkg) {
if (pkg.dependencies && pkg.dependencies.lodash) {
pkg.dependencies.lodash = 'npm:awesome-lodash@^1.0.0'
}
return pkg
}
module.exports = {
hooks: {
readPackage
}
}