Passa al contenuto principale
Versione: Prossimo

Alias

Gli alias consentono di installare pacchetti con nomi personalizzati.

Supponiamo che tu usi lodash in tutto il tuo progetto. C'è un bug in lodash che rompe il tuo progetto. Hai una soluzione ma lodash non la unirà. Normalmente dovresti installare lodash direttamente dal tuo fork (come una dipendenza ospitata da git) o pubblicarlo con un nome diverso. Se usi la seconda soluzione devi sostituire tutti i requisiti nel tuo progetto con il nuovo nome della dipendenza (require('lodash') => require('awesome-lodash')). Con gli alias, hai una terza opzione.

Pubblica un nuovo pacchetto chiamato awesome-lodash e installalo usando lodash come il suo alias:

pnpm add lodash@npm:awesome-lodash

Non sono necessarie modifiche al codice. Tutte le richieste di lodash ora si risolveranno a awesome-lodash.

A volte vorrai usare due diverse versioni di un pacchetto nel tuo progetto. Facile:

pnpm add lodash1@npm:lodash@1
pnpm add lodash2@npm:lodash@2

Ora puoi richiedere la prima versione di lodash tramite require('lodash1') e la seconda tramite require('lodash2').

Questo diventa ancora più potente se combinato con gli hook. Forse vuoi sostituire lodash con awesome-lodash in tutti i pacchetti in node_modules. Puoi ottenere facilmente questo risultato con il seguente .pnpmfile.cjs:

function readPackage(pkg) {
if (pkg.dependencies && pkg.dependencies.lodash) {
pkg.dependencies.lodash = 'npm:awesome-lodash@^1.0.0'
}
return pkg
}

module.exports = {
hooks: {
readPackage
}
}