Как правильно настроить скрипты npm onchange?

#javascript #html #npm #sass

#javascript #HTML #npm #sass

Вопрос:

Я пытаюсь создать базовый сценарий npm для создания своих личных веб-проектов, в основном хочу скомпилировать и минимизировать код Sass и JS ES6 . Я новичок в сценариях npm, но ниже показано, что мне удалось сделать с найденными ресурсами.

Это то, что у меня есть до сих пор:

 "scripts": {
    "devserver": "live-server --open=/dist/",
    "sass": "node-sass --output-style compressed -o scss/ dist/css/ -w",
    "terser": "terser src/js/index.js -c -m -o dist/js/index.js",
    "watch:sass": "onchange 'scss/*.scss' -- npm run sass",
    "watch:js": "onchange 'js/*.js' -- npm run terser",
    "start": "npm-run-all --parallel devserver watch:*"
},
"devDependencies": {
    "autoprefixer": "^9.8.6",
    "node-sass": "^4.14.1",
    "npm-run-all": "^4.1.5",
    "postcss-cli": "^7.1.2",
    "terser": "^5.3.0"
}
  

Пара вещей, которые я замечаю:

  1. Когда я это делаю, npm run start запускается живой сервер и загружает сайт, и когда я меняю код js или scss, скрипт регистрирует изменения, но они не отражаются в dist/ папке

  2. Только когда я запускаю say npm run sass или npm run terser изменения происходят внутри dist/ папки

Чего я не понимаю или делаю неправильно?

Комментарии:

1. Используете ли вы систему Windows ? Кстати — вы можете просто запустить npm start с run частью ( start это «специальная» команда).

2. @vsync Я использую Mac Catalina

3. Попробуйте переключиться с npm-run-all на одновременно