Para un nuevo módulo que estoy tratando de usar npm build
sin gulp / Grunt / otras herramientas de construcción especializadas.
"scripts": {
"build": "node build.js"
},
Mi build.js es simplemente
console.log('Hello')
Sin embargo, corriendo
npm build
Simplemente sale sin imprimir nada, con un estado de 0.
Corriendo:
npm install
También hace todas las cosas normales, pero tampoco ejecuta build.js.
¿Cómo puedo hacer que npm ejecute mi script de compilación?
Editar: incluso los comandos bash simples no parecen funcionar, p. Ej.
"scripts": {
"build": "touch TESTFILE"
},
No hace un archivo con ese nombre.
javascript
node.js
build
npm
mikemaccana
fuente
fuente
install
en su lugar.Respuestas:
Lamentablemente,
npm build
ya es un comando interno , como se describe en los documentos :Debido a que ese comando ya existe, siempre se oculta sobre tu
"build": "node build.js"
.La forma totalmente calificada de ejecutar su propio script es con
run-script
o su aliasrun
:npm start
y otros son de forma abreviada, pero solo es una opción cuando un comando npm existente no lo sombrea, como lonpm build
hace.Para la posteridad (como otros han mencionado)
npm build
es usado por npm para construir complementos de Nodo C / C ++ nativos usando node-gyp . No está bien documentado porque generalmente ocurre automáticamente, pero si está interesado, el código fuente está aquí .fuente
npm build
? Por lo que puedo ver, deja todos los archivos sin cambios ...npm install
y npm encuentra un paquete que tiene enlaces C / C ++ o generalmente algo que necesita node-gyp para ejecutarse, entonces comienzanpm build
. Puede reconstruir esos paquetes simplemente ejecutándosenpm build
solo._build
ynpm build
debe ser un acceso directo comonpm start
ynpm test
npm build
no llamará a mi script, y que se usa para construir componentes compilados de un paquete. Todavía no estoy seguro de cómo se hace eso: ¿qué archivos busca, etc.?npm build
de significado ...El script nombrado como "build"
package.json
no es especial de ninguna manera. La única forma de ejecutarlo es llamando:Hay algunos nombres que npm llama automáticamente , pero "build" no es uno de ellos. La lista completa es:
prepublish
`publish
`postpublish
preinstall
`install
`postinstall
preuninstall
`uninstall
`postuninstall
preversion
`version
`postversion
pretest
`test
`posttest
prestop
`stop
`poststop
prestart
`start
`poststart
prerestart
`restart
`postrestart
preCUSTOM
ypostCUSTOM
para nombres de guiones personalizados.fuente
OK, para ejecutar una compilación por sí mismo, use:
fuente
Tuve un problema con
npm run build
no imprimir nada. Terminé usandonpm run build --verbose
para obtener la salida que necesitaba.fuente
Npm build espera
Intente usar scripts npm en su package.json, como el clásico npm start
fuente
npm build .
debería funcionar y, en mi caso, npm ejecuta el script "build" en mi "package.json" como esperaba.