Articles

miten npm linkitetään paikalliseen versioon riippuvuudestasi

div>

lets do this.

so… I want to create a local version of moment for my calendar webapp.

miksi?

koska moment ei sisällä klingoniesityksiä ajasta. Tai Borgia. Millainen all inclusive – aikapaketti ei omaksu vieraita kulttuureja!?

TL; DR: kloonaa paketti paikallisesti jonnekin, npm asentaa sen deps, npm link sen juureen, palaa sitten momenttia käyttävään räikeään sovellukseesi, juurityyppiin npm link "moment"& käytät nyt paikallista versiota. En saanut lankalinkkejä toimimaan. En tiedä miksi.

Right…

luovun langasta tässä selityksessä, koska en saanut siihen samaa toiminnallisuutta kuin NPM. Joten joka tapauksessa, tässä menee:

Haluan kaksi kansiota, joihin keskittyä.

my-calendar-app/node_modules/moment

ja

Users/aid/desktop/local-modules/

Then I git clone... the package I want to edit / improve, *into* the local-modules-kansio.

kun olen siinä, juoksen npm install varmistaakseni, että minulla on siihen kaikki oikeat riippuvuudet ja config (babelrc, webpack, dev ja säännölliset riippuvuudet).

paikallisella menen moment.js tai mikä tahansa sisääntulotiedosto onkaan. Ja aivan alkuun laitoin konsolin.Kirjaudu sisään vain osoittaaksemme, että käytämme paikallista / Klingon-ystävällistä:

Users/aid/Desktop/local_modules/moment/moment.js

cd (terminaalissa) uuteen, paikalliseen moduuliin/momenttipakettiin dir ja sen juureen type npm link. Selvyyden vuoksi: tässä linkität paikallisen, kloonatun, hieman muutetun version npm-paketista.

joten olemme luoneet indeksilinkin tähän paikalliseen pakettiin. Terminaalivahvistus omalleni näyttää tältä:

kirjoitettuaan npm-linkin uuteen, paikalliseen pakettiin.

nyt siirry takaisin pääprojektiisi ja kerro juuritasolla, että haluat käyttää paikallista versiota: –

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

että sylkee ulos vahvistuksen, että olet yhdistämässä paikalliseen moduuliin:

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

se tarkoittaa käytännössä sitä, että ”kun osoitan node_moduleita hetkeksi, juurruta npm — linkkeihisi, tälle solmun versiolle-ja osoita tätä paikallista versiota / pakettia siitä”.

nyt kun ajamme sovelluksemme:

Chrome-konsoli / konsoli.lokit ilmestyvät.

se sylkee konsolin ulos.lokit / muutokset teimme paikallisesti.

linkin tappamiseksi palaa paikalliseen versioon ja juurityyppiin npm unlink --no-save moment. Tämän jälkeen ajetaan npm install.

Yay npm-linkeille. JEE Des Lynhamille.