Pracowałem z projektem Reacta przy użyciu create-react-app
i mam dwie możliwości rozpoczęcia projektu:
Pierwszy sposób:
npm run start
z definicją w package.json
ten sposób:
"start": "react-scripts start",
Drugi sposób:
npm start
Jaka jest różnica między tymi dwoma poleceniami? Jaki jest cel react-scripts start
?
Próbowałem znaleźć definicję, ale właśnie znalazłem pakiet o tej nazwie. Nadal nie wiem, do czego służy to polecenie?
npm
którym uruchamiasz skrypty takie jak tennpm run scriptName
,npm start
jest również skrótem odnpm run start
react-scripts start
to właściwe polecenie, aby uruchomić aplikację React w trybie deweloperskim. To polecenie jest przechowywane w package.json, więc nie musisz go zapamiętywać i możesz po prostu wpisać zwykłenpm run start
zamiast tego.npm start
jest skrótem do tego ostatniego.Odpowiedzi:
stwórz-reaguj-aplikację i reaguj-skrypty
react-scripts
to zestaw skryptów zcreate-react-app
pakietu startowego. create-react-app pomaga w rozpoczynaniu projektów bez konieczności konfigurowania, więc nie musisz samodzielnie konfigurować projektu.react-scripts start
konfiguruje środowisko programistyczne i uruchamia serwer, a także przeładowuje moduły na gorąco. Możesz przeczytać tutaj, aby zobaczyć, co robi dla Ciebie.z aplikacją create-react-app masz następujące funkcje po wyjęciu z pudełka.
skrypty npm
npm start
jest skrótem donpm run start
.npm run
służy do uruchamiania skryptów, które definiujesz wscripts
obiekcie twojego package.jsonjeśli
start
w obiekcie skryptów nie ma klucza, domyślnie będzie tonode server.js
Czasami chcesz zrobić więcej, niż dają ci skrypty reakcji, w tym przypadku możesz zrobić
react-scripts eject
. Spowoduje to przekształcenie projektu ze stanu „zarządzanego” w stan niezarządzany, w którym masz pełną kontrolę nad zależnościami, skryptami kompilacji i innymi konfiguracjami.źródło
npm run build
. spowoduje to utworzenie folderu kompilacji. ten folder możesz następnie służyć. np.npm install -g serve
a następnieserve -s build
facebook.github.io/create-react-app/docs/deploymentJak zauważył Sagiv bg,
npm start
polecenie jest skrótem donpm run start
. Chciałem tylko dodać przykład z życia, aby nieco to wyjaśnić.Poniższa konfiguracja pochodzi z
create-react-app
repozytorium github.package.json
Definiuje kilka skryptów, które określają rzeczywisty przepływ.Dla jasności dodałem diagram.
Niebieskie pola to odniesienia do skryptów, z których wszystkie można było wykonać bezpośrednio za pomocą
npm run <script-name>
polecenia. Ale jak widać, w rzeczywistości istnieją tylko 2 praktyczne przepływy:npm run start
npm run build
Szare pola to polecenia, które można wykonać z wiersza poleceń.
Na przykład, jeśli uruchomisz
npm start
(lubnpm run start
), które faktycznie przekładają się nanpm-run-all -p watch-css start-js
polecenie, które jest wykonywane z linii poleceń.W moim przypadku mam to specjalne
npm-run-all
polecenie, które jest popularną wtyczką, która wyszukuje skrypty zaczynające się od „build:” i wykonuje je wszystkie. Właściwie nie mam żadnego pasującego do tego wzorca. Ale może być również używany do uruchamiania wielu poleceń równolegle, co robi tutaj, używając-p <command1> <command2>
przełącznika. Więc tutaj to wykonuje 2 skrypty, IEwatch-css
istart-js
. (Te ostatnie wymienione skrypty są obserwatorami, które monitorują zmiany plików i kończą się dopiero po zabiciu).watch-css
Zapewnia, że*.scss
pliki są tłumaczone do*.css
plików i szuka przyszłych aktualizacjach.Te
start-js
punkty doreact-scripts start
którego gospodarzem strony internetowej w trybie rozwoju.Podsumowując,
npm start
polecenie jest konfigurowalne. Jeśli chcesz wiedzieć, co robi, musisz sprawdzićpackage.json
plik. (i możesz chcieć zrobić mały diagram, gdy sprawy się skomplikują).źródło
"start" to nazwa skryptu, w npm uruchamiasz takie skrypty
npm run scriptName
,npm start
jest też skrótem odnpm run start
Jeśli chodzi o „Reaguj-skrypty”, jest to skrypt związany konkretnie z aplikacją create-react-app
źródło