package.json: как проверить, существуют ли node_modules - PullRequest
0 голосов
/ 04 октября 2019

Внутри package.json , возможно ли проверить, существует ли каталог node_modules? Моя цель - напечатать сообщение, если node_module не существует, что-то вроде:

node_module not existent: use npm run dist

, где dist - это скрипт внутри scripts моего package.json. Спасибо.

Ответы [ 2 ]

1 голос
/ 04 октября 2019

Да, через npm scripts. Какой npm скрипт использовать - это ваш выбор. Если ваше приложение запускается через npm start (хорошая практика), используйте скрипт start для добавления вашего чека:

"scripts": { "start" : "./test.sh" }

Фактический тест для каталога может быть реализован через оболочкусценарий или сценарий NodeJs, рассмотрите возможность использования npx, как описано в Разница между npx и npm? .

0 голосов
/ 07 октября 2019

Как подсказал BM в комментариях, я создал следующий скрипт с именем checkForNodeModules.js:

const fs = require('fs');
if (!fs.existsSync('./node_modules'))
  throw new Error(
    'Error: node_modules directory missing'
  );

И внутри моего package.json:

"scripts": {
  "node-modules-check": "checkForNodeModules.js",
  "start": "npm run node-modules-check && node start-app.js",
}

Спасибо!

...