Я попытался адаптировать некоторые материалы курса, чтобы использовать меньше вместо 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, чтобы понять это и избежать возможных проблем?