Właśnie zacząłem uczyć się React, a Facebook pomaga uprościć początkową konfigurację, udostępniając następujący gotowy projekt .
Jeśli muszę zainstalować szkielet projektu, muszę wpisać npx create-react-app my-app
w wierszu polecenia.
Zastanawiałem się, dlaczego Facebook w Github ma npx create-react-app my-app
raczej npm create-react-app my-app
?
javascript
npm
npx
Paresh Maniyar
źródło
źródło
create-react-app
jest generatorem.npx
idzie do Internetu , tymczasowo pobiera pakiet, aby go wykonać ( np. x ). To, co dostajesz (i chcesz), to wyjście, które jest zapisywane lokalnie w miejscu, w którym uruchomiłeś polecenie.Odpowiedzi:
Przedstawiamy npx: program uruchamiający pakiety npm
NPM
- Zarządza pakiety ale nie ułatwia życia wykonujący każdy.NPX
- Narzędzie do wykonywania pakietów Node.NPM
sam w sobie nie uruchamia żadnego pakietu. tak naprawdę nie uruchamia żadnego pakietu. Jeśli chcesz uruchomić pakiet za pomocą NPM, musisz określić ten pakiet w swoimpackage.json
pliku.Gdy pliki wykonywalne są instalowane za pośrednictwem pakietów NPM, NPM prowadzi do nich linki:
./node_modules/.bin/
katalogu.bin/
katalogu globalnego (np./usr/local/bin
) w systemie Linux lub w%AppData%/npm
systemie Windows.Dokumentacja, którą powinieneś przeczytać
NPM:
Można zainstalować pakiet lokalnie w określonym projekcie:
Powiedzmy teraz, że chcesz, aby NodeJS wykonał ten pakiet z wiersza poleceń:
Powyższe nie powiedzie się . Tylko globalnie zainstalowane pakiety można wykonać, wpisując ich nazwę tylko .
Aby to naprawić i uruchomić, musisz wpisać ścieżkę lokalną:
Możesz technicznie uruchomić lokalnie zainstalowany pakiet, edytując
packages.json
plik i dodając ten pakiet wscripts
sekcji:Następnie uruchom skrypt za pomocą
npm run-script
(lubnpm run
):NPX:
npx
sprawdzi, czy<command>
istnieje w$PATH
lokalnych plikach binarnych projektu, czy też go uruchomi. Tak więc, w powyższym przykładzie, jeśli chcesz uruchomić pakiet zainstalowany lokalnie,some-package
wszystko co musisz zrobić, to wpisać:Kolejną ważną zaletą
npx
jest możliwość wykonania pakietu, który nie był wcześniej zainstalowany:Powyższy przykład generowania
react
aplikacji Gotowa w ścieżce, w której uruchomiono polecenie, i zapewnia, że zawsze używasz najnowszej wersji generatora lub narzędzia do budowania bez konieczności aktualizacji za każdym razem, gdy będziesz go używać.Powiązane pytania:
źródło
node.js
, prawda? Dlaczego jest dostępny przez „npm” (menedżer pakietów węzłów)?./node_modules/.bin
do $ PATH, a NPX nie będzie potrzebny.npx jest programem uruchamiającym pakiety npm (x prawdopodobnie oznacza eXecute). Typowym zastosowaniem jest pobieranie i uruchamianie pakietu tymczasowo lub na potrzeby prób.
Utwórz aplikację reagującą to pakiet npm, który ma być uruchamiany tylko raz w cyklu życia projektu. Dlatego zaleca się stosowanie npx do zainstalowania i uruchomienia go w jednym kroku.
Jak wspomniano na stronie podręcznika https://www.npmjs.com/package/npx , npx może domyślnie uruchamiać polecenia w PATH lub z node_modules / .bin.
Uwaga: po pewnym kopaniu możemy odkryć, że create-reag-app wskazuje na plik JavaScript (prawdopodobnie na /usr/lib/node_modules/create-react-app/index.js w systemach Linux), który jest wykonywany w środowisku węzła . Jest to po prostu globalne narzędzie, które sprawdza niektóre elementy. Właściwa konfiguracja odbywa się za pomocą skryptów reagujących, których najnowsza wersja jest zainstalowana w projekcie. Więcej informacji można znaleźć na https://github.com/facebook/create-react-app .
źródło
NPM to menedżer pakietów, możesz zainstalować pakiety node.js za pomocą NPM
NPX to narzędzie do uruchamiania pakietów node.js.
Nie ma znaczenia, czy zainstalowałeś ten pakiet globalnie czy lokalnie. NPX zainstaluje go tymczasowo i uruchomi. NPM może również uruchamiać pakiety, jeśli skonfigurujesz plik package.json i umieścisz go w sekcji skryptu.
np. M - Manager
np X - Wykonaj - łatwy do zapamiętania
źródło
NPX:
Od https://www.futurehosting.com/blog/npx-makes-life-easier-for-node-developers-plus-node-vulnerability-news/ :
źródło
NPM can just install local versions
- niepoprawne.npm
można zainstalować globalnie i jest to powszechna praktyka.npx
uruchamia polecenie pakietu bez jawnej instalacji.Przypadków użycia:
Składnia:
Pakiet jest opcjonalny:
Na przykład:
Więcej o
command
:źródło
Prosta definicja:
npm - menedżer pakietów Javascript
npx - Wykonaj pliki binarne pakietu npm
źródło
Oto przykład działania NPX: npx cowsay hello
Jeśli wpiszesz to w swoim terminalu bash, zobaczysz wynik. Zaletą tego jest to, że npx tymczasowo zainstalował cowsay. Brak zanieczyszczenia pakietu, ponieważ krowa nie jest zainstalowana na stałe. Jest to idealne rozwiązanie dla jednorazowych pakietów, w których chcesz uniknąć zanieczyszczenia pakietu.
Jak wspomniano w innych odpowiedziach, npx jest również bardzo przydatny w przypadkach, gdy (z npm) pakiet musi zostać zainstalowany, a następnie skonfigurowany przed uruchomieniem. Np. Zamiast używać npm do zainstalowania, a następnie skonfigurowania pliku json.package, a następnie wywołania skonfigurowanego polecenia uruchomienia, po prostu użyj npx. Prawdziwy przykład: npx create-reag-app moja-aplikacja
źródło