Articles

cum se leagă NPM la o versiune locală a dependenței dvs.

să facem acest lucru.

deci… vreau să creez o versiune locală amoment pentru aplicația mea de calendar.

de ce?

deoarecemoment nu include reprezentările klingoniene ale timpului. Sau Borg, de fapt. Ce fel de pachet de timp all-inclusive nu cuprinde culturi străine!?

TL;DR: clona pachetul local undeva, NPM instala deps sale,npm link la rădăcină, apoi du-te înapoi la aplicația ostentative care utilizează moment, la tipul de rădăcinănpm link "moment"& acum utilizați versiunea locală. Nu am putut obține fire link-uri la locul de muncă. Nu sunt sigur de ce.

dreapta…

abandonez fire în această explicație pentru că nu am putut obține aceeași funcționalitate pentru a lucra cu ea ca NPM. Deci, oricum, aici merge:

vreau două dosare să se concentreze pe.

my-calendar-app/node_modules/moment

și

Users/aid/desktop/local-module/

apoi amgit clone... pachetul vreau să editați / îmbunătăți, *în* folderul local-module.

odată ce sunt în asta, ruleznpm install pentru a mă asigura că am toate dependențele și configurația potrivite pentru asta (babelrc, webpack, dev și dependențe regulate).

în cel local, intru înmoment.js sau oricare ar fi fișierul de intrare. Și chiar în partea de sus am pus o consolă.conectați-vă, doar pentru a arăta că folosim unul local / Klingonian-friendly:

utilizatori/ajutor/Desktop / local_modules / moment / moment.js

cd (în terminal) în noul dvs. pachet local module/moment dir și la rădăcină, tastaținpm link. Pentru a fi clar: acesta este legătura dintre o versiune locală, clonată, ușor modificată a unui pachet npm.

deci, am creat un link index la acest pachet local. Confirmarea terminalului pentru a mea arată astfel:

după introducerea link-ului npm în noul pachet local.

acum navigați înapoi la proiectul dvs. principal și, la nivel root, spuneți-i că doriți să utilizați versiunea locală: –

cd /Users/aid/Projects/my-calendar-app && npm link "moment"

care scuipă o confirmare că mapați la un modul local:

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

asta spune practic „când sunt îndreptat spre node_modules pentru moment, rădăcină la link — urile npm, pentru această versiune de nod-și punctul de la această versiune locală / pachet de ea”.

acum, când vom rula aplicația noastră:

consola / consola Chrome.jurnalele apar.

scuipă consola.log-uri / modificări am făcut la nivel local.

pentru a ucide link-ul, du-te înapoi la versiunea locală și la tipul de rădăcinănpm unlink --no-save moment. Apoi rulați npm install.

Yay pentru link-uri NPM. Ura pentru Des Lynham.