Как указал Сагив Б.Г., команда npm start
является ярлыком для npm run start
.Я просто хотел добавить пример из реальной жизни , чтобы прояснить его немного подробнее.
Ниже приведена настройка репозитория create-react-app
github.package.json
определяет набор сценариев, которые определяют фактический поток.
"scripts": {
"start": "npm-run-all -p watch-css start-js",
"build": "npm run build-css && react-scripts build",
"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive",
"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/",
"start-js": "react-scripts start"
},
Для ясности я добавил диаграмму.
Синие прямоугольники - это ссылки на сценарии, которые вы можете выполнить непосредственно с помощью команды npm run <script-name>
.Но, как вы можете видеть, на самом деле есть только 2 практических потока:
npm run start
npm run build
Серые поля - команды, которыеможет быть выполнен из командной строки.
Так, например, если вы запустите npm start
(или npm run start
), которые фактически преобразуются в команду npm-run-all -p watch-css start-js
, которая выполняется из командной строки.
В моем случае у меня есть специальная команда npm-run-all
, которая является популярным плагином, который ищет скрипты, которые начинаются с «build:», и выполняет все из них.У меня на самом деле нет таких, которые соответствуют этому шаблону.Но он также имеет 2 параметра после ключа -p
, которые являются другими сценариями. Итак, здесь он действует как сокращение для выполнения этих двух сценариев.(т. е. watch-css
и start-js
)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 10 * * *.
start-js
указывает на react-scripts start
, который размещает сайт в режиме разработки.
В заключение,команда npm start
настраивается.Если вы хотите знать, что он делает, то вам нужно проверить файл package.json
. (и, возможно, вы захотите составить небольшую диаграмму, когда все усложнится).