How do you run a js file using npm scripts?

I can't get npm to work. My package.json file has

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

and I have a build.js file in the same folder that just console.logs.

When I run

npm run build

I get the error

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

and if I move the build.js file and change my package.json file to have a subfolder

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

then I get the error

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

What's going wrong? I'm copying the example documentation.


Solution 1:

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

npm run build OR npm run-script build


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

npm start


NB: you were missing the { brackets } and the node command

folder structure is fine:

+ build
  - package.json
  - build.js

Solution 2:

You should use npm run-script build or npm build <project_folder>. More info here: https://docs.npmjs.com/cli/build.