понимание сценария npm (webpack-dev-server)

У меня вопрос по npm run.

('npm run dev' взято с https://github.com/vuejs/vue-hackernews/blob/gh-pages/package.json)

{
  "name": "vue-hackernews",
  "version": "1.0.0",
  "description": "HN clone with Vue.js using HN API",
  "scripts": {
    "dev": "webpack-dev-server --inline --hot --no-info",
    "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
     ....
  },

почему "npm run dev" идет хорошо,

но другие команды, такие как 'npm run webpack-dev-server'

или просто "webpack-dev-server" выкидывает ошибки?

что делает npm run? не просто выполняя значение свойства «скрипты»?

(о чем я думал: "Управляйте тем же самым")

благодарю вас!


person Creative Choi    schedule 07.07.2016    source источник
comment
если я установил webpack-dev-server глобально, могу ли я использовать webpack-dev-server где угодно? а это значит, что npm run всегда ищет точно такое же имя папки модуля?   -  person Creative Choi    schedule 07.07.2016
comment
помог ли мой ответ?   -  person Max Koretskyi    schedule 02.03.2017


Ответы (1)


просто "webpack-dev-server" выдает ошибки?

потому что для его работы необходимо добавить webpack-dev-server в переменную среды PATH. Если вы используете npm run script-name, то:

В дополнение к ранее существовавшему PATH оболочки, npm run добавляет node_modules / .bin в PATH, предоставленный скриптам.

проверьте папку node_modules/.bin, вы увидите там webpack-dev-server, и этот исполняемый файл запускает пакет js следующим образом:

node  "$basedir/../webpack-dev-server/bin/webpack-dev-server.js" "$@"

Другой альтернативой является это, если вы используете env на основе Unix:

$(npm bin)/webpack-dev-server'
person Max Koretskyi    schedule 20.02.2017