Почему этот стартовый скрипт npm для less / css запускался без каких-либо изменений? - PullRequest
0 голосов
/ 10 февраля 2019

Я попытался адаптировать некоторые материалы курса, чтобы использовать меньше вместо sass / scss в задачах автоматического запуска.

У меня были следующие скрипты в package.json:

"scripts": {
   "start": "npm run watch:all",
   "test": "echo \"Error: no test specified\" && exit 1",
   "lite": "lite-server",
   "less": "lessc ./css/*.less ./css/*.css",
   "watch:less": "onchange \"./css/*.less\" -- npm run less",
   "watch:all": "parallelshell \"npm run watch:less\" \"npm run lite\""
 },

К сожалению, когда я впервые запустил его, он перезаписал мой существующий файл styles.css, очевидно, запустив меньше на (в то время, устаревший) .less файл, хотя в него не было внесено никаких изменений.Зачем?

С тех пор я изменил структуру проекта и сценарии на:

    "test": "echo \"Error: no test specified\" && exit 1",
    "lite": "lite-server",
    "less": "lessc ./src/styles.less ./css/styles.css",
    "watch:less": "onchange \"./src/styles.less\" -- npm run less",
    "watch:all": "parallelshell \"npm run watch:less\" \"npm run lite\""

Теперь все работает как положено - перезаписывает styles.css всякий раз, когда я изменяю styles.less.

Я не понимаю, что из-за оригинальной формы она немедленно запустила команду less.Я новичок в этом.Что я должен знать о скриптах npm, чтобы понять это и избежать возможных проблем?

...