Articles

jak połączyć NPM z lokalną wersją zależności

pozwala to zrobić.

więc… chcę utworzyć lokalną wersjęmoment dla mojej aplikacji webowej kalendarza.

Dlaczego?

ponieważ moment nie zawiera Klingońskich reprezentacji czasu. Albo Borg. Jaki pakiet czasu all inclusive nie obejmuje obcych kultur!?

TL; DR: Sklonuj pakiet lokalnie gdzieś, npm zainstaluj jego deps, npm link w katalogu głównym, a następnie wróć do swojej krzykliwej aplikacji, która używa chwili, w katalogu głównym wpisz npm link "moment"& używasz teraz wersji lokalnej. Nie mogłem uzyskać linków do pracy. Nie wiem dlaczego.

racja…

rezygnuję z tego wyjaśnienia, ponieważ nie mogłem uzyskać takiej samej funkcjonalności do pracy z nim jak NPM. Tak czy siak, zaczyna się:

chcę skupić się na dwóch folderach.

my-calendar-app/node_modules/moment

i

Users/aid/desktop/local-modules/

następnie git clone... pakiet, który chcę edytować / poprawić, *do* folderu local-modules.

Kiedy już w tym jestem, uruchamiam npm install, aby upewnić się, że mam wszystkie odpowiednie zależności i konfigurację do tego (babelrc, webpack, dev i regularne zależności).

w lokalnym wchodzę w moment.js lub cokolwiek to jest plik wejściowy. A na samej górze umieściłem konsolę.Zaloguj się, aby pokazać, że korzystamy z lokalnego / przyjaznego Klingonowi:

użytkownicy/pomoc/pulpit/local_modules/moment/moment.js

cd(w terminalu) w nowym, lokalnym katalogu modules/moment package i w jego katalogu głównym wpisznpm link. Dla jasności: jest to połączenie lokalnej, sklonowanej, nieco zmienionej wersji pakietu npm.

więc stworzyliśmy link indeksowy do tego lokalnego pakietu. Potwierdzenie terminalu dla mojego wygląda tak:

po wpisaniu linku npm w nowym, lokalnym pakiecie.

teraz przejdź z powrotem do głównego projektu i na poziomie głównym powiedz mu, że chcesz użyć wersji lokalnej:-

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

, który wypluwa potwierdzenie, że mapujesz do modułu lokalnego:

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

To jest po prostu powiedzenie „Kiedy wskazuję na node_modules na chwilę, root do linków npm, dla tej wersji węzła — i wskaż tę lokalną wersję / Pakiet tego”.

teraz, gdy uruchamiamy naszą aplikację:

konsola / konsola Chrome.pojawiają się logi.

wypluwa konsolę.logi / zmiany, które wprowadziliśmy lokalnie.

aby zabić link, wróć do wersji lokalnej i wpisz npm unlink --no-save moment. Następnie uruchom npm install.

Yay dla linków NPM. Yay dla Des Lynham.