jak połączyć NPM z lokalną wersją zależności
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:
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:
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ę:
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.