¿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.