Як вказував Сагів bg, npm start
команда - це ярлик для npm run start
. Я просто хотів додати приклад із реального життя, щоб трохи прояснити це.
Нижче наведено налаштування від create-react-app
github repo. 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>
командою. Але, як бачите, насправді існує лише два практичні потоки:
npm run start
npm run build
Сірі поля - це команди, які можна виконати з командного рядка.
Так, наприклад, якщо ви запустите npm start
(або npm run start
), що фактично перекладається на npm-run-all -p watch-css start-js
команду, яка виконується з командного рядка.
У моєму випадку у мене є ця спеціальна npm-run-all
команда, яка є популярним плагіном, який шукає сценарії, які починаються з "build:", і виконує всі ці. Насправді у мене немає такого, що б відповідало цій схемі. Але його можна також використовувати для запуску декількох команд паралельно, що це робить тут, використовуючи -p <command1> <command2>
перемикач. Отже, тут він виконує 2 сценарії, тобто watch-css
і start-js
. (Останні згадані сценарії - це спостерігачі, які відстежують зміни файлів і закінчуються лише після вбивства.)
watch-css
Гарантує , що *.scss
файли будуть переведені на *.css
файли, і шукає оновлення в майбутньому.
В start-js
вказує на react-scripts start
якому знаходиться сайт в режимі розробки.
На закінчення npm start
команду можна налаштувати. Якщо ви хочете знати, що це робить, тоді ви повинні перевірити package.json
файл. (і ви, можливо, захочете скласти невелику схему, коли все ускладниться).
npm
вас такі сценарії запускаютьсяnpm run scriptName
,npm start
це також скороченняnpm run start