Как запустить js-файл с помощью сценариев npm?

89

Я не могу заставить npm работать. В моем файле package.json есть

"scripts": { "build": "build.js" }

и у меня есть файл build.js в той же папке, что и console.logs.

Когда я бегу

npm run build

Я получаю ошибку

The system cannot execute the specified program.

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
npm ERR! node v4.1.1
npm ERR! npm  v3.3.5
npm ERR! code ELIFECYCLE

и если я переместу файл build.js и изменю свой файл package.json, чтобы иметь подпапку

"scripts": { "build": "build/build.js" }

тогда я получаю сообщение об ошибке

'build' is not recognized as an internal or external command, operable program or batch file.

Что не так? Копирую пример документации .

Ричард
источник

Ответы:

132
{ "scripts" :
  { "build": "node build.js"}
}

npm run build ИЛИ ЖЕ npm run-script build


{
  "name": "build",
  "version": "1.0.0",
  "scripts": {
    "start": "node build.js"
  }
}

npm start


NB: Вы Пропавшие без вести { brackets }и в узел команды

структура папок в порядке:

+ build
  - package.json
  - build.js
Лука Философи
источник
1
Это работает. Не могли бы вы объяснить, зачем нужен «узел»? В ретроспективе это имеет смысл, но его нет в документации.
Ричард
3
Узел нужен, потому что он нужен для запуска вашего скрипта. Здесь вы можете поставить любую команду.
severin.julien
Он не «пропустил nodeкоманду», в документации, которую он связал, ее тоже нет.
AndreKR
2

Вам следует использовать npm run-script buildили npm build <project_folder>. Подробнее здесь: https://docs.npmjs.com/cli/build .

Шанур
источник
Это не работает - та же ошибка. Документы говорят, что run-script - это просто псевдоним для запуска.
Ричард