Добавляение команды запуска json-server в package.json для старта через Yarn или NPM. Параллельный, одновременный запуск
Primary tabs
Исходные данные
В package.json команда start в которой хотелось бы запустить json-server выглядит так:
"scripts": { "start": "node scripts/start.js" "build": "node scripts/build.js", "test": "node scripts/test.js" },
При этом json-server приходилось запускать в отдельной вкладке командой:
json-server json/goods.json --port 3004
Решение
Для параллельного запуска команд устанавливаем специальный пакет concurrently:
npm i concurrently
или в случае использования ярна:
yarn add concurrently
и переписываем определение команды start на:
"scripts": { "start": "concurrently \"json-server json/goods.json --port 3004\" \"node scripts/start.js\"". "build": "node scripts/build.js", "test": "node scripts/test.js" },
(т.е. сначала запускаем json-server, а потом основную сборку).
Источник идеи: https://stackoverflow.com/a/62705843
Отдельный запуск. Минусы параллельного решения
Решение удобно для демонстрации, но неудобного для разработки, т.к. выводится много информации и окно не отчищается от уже исправленных ошибок и замечаний сборщика, в итоге там оказывается слишком много сообщений, поэтому для запуска всего и сразу использовать отдельную команду, а в процессе разработки все-таки применять разные команды в разных вкладках (или окнах) терминала.
Тогда секция scripts файла packacage.json может выглядеть как-то так:
"scripts": { "start": "node scripts/start.js", "server": "json-server json/goods.json --port 3004", "demo": "concurrently \"json-server json/goods.json --port 3004\" \"node scripts/start.js\"", "build": "node scripts/build.js", "test": "node scripts/test.js" },
-- в данном случае все и сразу можно запустить через
yarn demo
или
npm run demo
- Log in to post comments
- 1981 reads