SLIK KOBLER DU NPM Til en lokal versjon av avhengigheten din
Så… jeg vil lage en lokal versjon av moment
for kalenderen min webapp.
Hvorfor?
Fordi moment
inkluderer Ikke Klingon-representasjoner av tid. Eller Borg, for den saks skyld. Hva slags all-inclusive tidspakke omfatter ikke fremmede kulturer!?
TL; DR: klone pakken lokalt et sted, npm installere sine deps,npm link
ved roten, og deretter gå tilbake til prangende app som bruker moment, på root type npm link "moment"
& du bruker nå den lokale versjonen. Jeg kunne ikke få garnkoblinger til jobb. Ikke sikker på hvorfor.Jeg forlater Garn i denne forklaringen fordi JEG ikke kunne få samme funksjonalitet til å jobbe MED DET SOM NPM. Så uansett, her går:
jeg vil ha to mapper å fokusere på.
my-calendar-app/node_modules/moment
Og
Brukere/aid/desktop/local-modules/
så vil jeggit clone...
pakken jeg vil redigere/forbedre, *inn i* local-modules-mappen.
Når jeg er i det, kjører jeg npm install
for å sikre at jeg har alle de riktige avhengighetene og config for det (babelrc, webpack, dev og vanlige avhengigheter).
i den lokale går jeg inn i moment.js
eller hva inngangsfilen er. Og rett på toppen legger jeg en konsoll.logg inn, bare for å vise at vi bruker den lokale / Klingon-vennlige:
cd
(i terminal) inn i dine nye, lokale moduler / øyeblikkspakke dir og ved roten skriver du npm link
. For å være klar: dette er du knytte en lokal, klonet, litt endret versjon av en npm-pakke.
Så vi har opprettet en indekslink til denne lokale pakken. Terminalbekreftelsen for min ser slik ut:
naviger nå tilbake til hovedprosjektet ditt, og på rotnivå, fortell det at du vil bruke den lokale versjonen:-
cd /Users/aid/Projects/my-calendar-app && npm link "moment"
som spytter ut en bekreftelse på at du kartlegger til en lokal modul:
Users/aid/Projects/my-calendar-app/node_modules/moment -> aid/.nvm/versions/node/v10.15.0/lib/node_modules/moment -> /Users/aid/Desktop/local-packages/moment
Det er i utgangspunktet å si «Når Jeg peker på node_modules for øyeblikket, rot til npm-koblingene dine — for denne versjonen av node-og pek på denne lokale versjonen / pakken av den».
nå når vi kjører vår app:
det spytter ut konsollen.logger / endringer vi har gjort lokalt.
for å drepe koblingen, gå tilbake til din lokale versjon og ved rottype npm unlink --no-save moment
. Kjør deretter npm install
.
Yay for npm lenker. Yay For Des Lynham.