¿Cómo se ejecuta un archivo js usando scripts npm?


84

No puedo hacer que funcione el npm. Mi archivo package.json tiene

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

y tengo un archivo build.js en la misma carpeta que solo console.logs.

Cuando corro

npm run build

Me sale el 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

y si muevo el archivo build.js y cambio mi archivo package.json para tener una subcarpeta

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

entonces me sale el error

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

¿Qué va mal? Estoy copiando la documentación de ejemplo .

Respuestas:


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

npm run build O npm run-script build


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

npm start


NB: faltaba el comando { brackets }y el nodo

la estructura de la carpeta está bien:

+ build
  - package.json
  - build.js

1
Esto funciona. ¿Puede explicar por qué se necesita 'nodo'? Tiene sentido en retrospectiva, pero no está en los documentos.
— Richard

3
Se necesita un nodo porque es necesario para iniciar su script. Puedes poner cualquier comando aquí.
— severin.julien

No estaba "perdiendo el nodecomando", la documentación que vinculó tampoco lo tiene.
— AndreKR

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.