Можно ли выполнять задачи, используя npm-скрипты, только без запуска задач? - PullRequest
1 голос
/ 25 апреля 2019

Я новичок в npm run scripts Могу ли я выполнять следующие задачи, используя только npm run scripts?(то есть без какого-либо бегуна задач, таких как gulp и grunt)

  1. concat js
  2. scss to css watch
  3. получать уведомления об успешной конкатенации js и scssпреобразование в CSS
  4. и перемещение только html, css, js в каталог развертывания

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 25 апреля 2019

Не понимаю, почему нет? Чтобы дать вам небольшой контекст:

npm run scripts позволяет легко запускать: любой пользовательский скрипт, который вы создаете, или любой скрипт, предоставленный в вашем node_modules каталоге . Это именно то, что предоставляет вам любой исполнитель задач: например, пользовательские сценарии для выполнения общих задач разработки, они только что предварительно создали эти сценарии, тогда как с помощью сценариев запуска npm вы создаете их сами. Эти сценарии npm создаются добавив их в поле "scripts" в вашем файле package.json и можно выполнить, набрав следующее: npm run <script-name>.

Как мы можем просто запустить двоичные файлы локально установленных пакетов?

Итак, двоичные файлы локально устанавливаемых пакетов доступны вам благодаря вашей переменной среды PATH . Это очень удобно и позволяет вам запускать указанные двоичные файлы, просто набирая имя указанного пакета вместо указания: node_modules/.bin/<node_module>. Кроме того, чтобы узнать, какие сценарии доступны для вас, введите: npm run

Хорошо, вернемся к вашему вопросу .. Да Вам просто нужно будет создать собственные сценарии, используя различные библиотеки для выполнения указанной задачи .

Например, с scss по css часы, вы можете создать скрипт следующим образом:

"scripts": {
    "buildscss": "sass --watch app/sass:public/stylesheets"
 },

В качестве альтернативы, вы можете использовать node-sass для решения этой задачи:

npm install --save-dev node-sass
"scripts": {
  "buildscss": "node-sass --output-style compressed -o dist/css src/scss"
}

Для обслуживания и автоматического ввода изменений вы можете использовать browser-sync . Примерно так:

npm i -D browser-sync
"scripts": {
  "serve": "browser-sync start --server --files 'dist/css/*.css, dist/js/*.js'"
}

В качестве альтернативы, если вы хотите переместить html, css, js в каталог развертывания, <dist>, в этом случае вы можете сделать следующее:

"scripts": {
  "copy": "cp <html_dir> dist/ && cp <css_dir> dist/ && cp <js> dist/",
}

Что касается вашего вопроса об уведомлениях: ваш пользовательский сценарий будет запускать другие пользовательские сценарии и выводит на консоль результаты указанного сценария . С помощью npm run scripts вы можете сделать гораздо больше, например: рисование, просмотр, объединение скриптов и т. Д. Для хорошего урока ознакомьтесь с ссылкой , так как я просто царапаю поверхность.

Надеюсь, это поможет!

...