Pour un nouveau module que j'essaie d'utiliser npm build
sans gulp / Grunt / autres outils de construction spécialisés.
"scripts": {
"build": "node build.js"
},
Mon build.js est simplement
console.log('Hello')
Cependant, courir
npm build
Quitte simplement sans rien imprimer, avec un statut de 0.
Fonctionnement:
npm install
Fait également toutes les choses normales, mais n'exécute pas non plus build.js.
Comment puis-je faire exécuter mon script de construction à npm?
Edit: même les commandes bash simples ne semblent pas fonctionner, par exemple
"scripts": {
"build": "touch TESTFILE"
},
Ne crée pas de fichier avec ce nom.
javascript
node.js
build
npm
Mikemaccana
la source
la source
install
place.Réponses:
Malheureusement, il
npm build
s'agit déjà d'une commande interne , comme décrit dans la documentation :Parce que cette commande existe déjà, elle fait toujours de l'ombre sur votre
"build": "node build.js"
.La manière complète d'exécuter votre propre script est avec
run-script
ou son aliasrun
:npm start
et d'autres sont le raccourci, mais ce n'est une option que lorsqu'une commande npm existante ne l'observe pas, comme lenpm build
fait.For posterity (comme d'autres l'ont mentionné)
npm build
est utilisé par npm pour créer des addons Node C / C ++ natifs en utilisant node-gyp . Ce n'est pas bien documenté car généralement cela se produit automatiquement, mais si vous êtes intéressé, le code source est ici .la source
npm build
fait? Pour autant que je puisse voir, tous les fichiersnpm install
et que npm trouve un package qui a des liaisons C / C ++ ou généralement sth qui a besoin de node-gyp pour s'exécuter, il démarrenpm build
. Vous pouvez reconstruire ces packages en exécutant simplementnpm build
seul._build
etnpm build
devrait être un raccourci commenpm start
etnpm test
npm build
cela n'appellera pas mon script et qu'il est utilisé pour créer des composants compilés d'un package. Je ne sais toujours pas comment cela se passe: quels fichiers recherche-t-il, etc.?npm build
de sens ...Le script nommé "build"
package.json
n'est en aucun cas spécial. La seule façon de le faire fonctionner est d'appeler:Il y a quelques noms qui sont appelés automatiquement par npm , mais "build" n'en fait pas partie. La liste complète est:
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
etpostCUSTOM
pour les noms de script personnalisés.la source
OK, pour exécuter une compilation seule, utilisez:
la source
J'ai eu un problème en
npm run build
ne imprimant rien. fini par utilisernpm run build --verbose
pour obtenir la sortie dont j'avais besoin.la source
Npm build attend
Essayez d'utiliser des scripts npm dans votre package.json, comme le démarrage classique de npm
la source
npm build .
devrait fonctionner et, dans mon cas, npm exécute le script "build" dans mon "package.json" comme je l'espérais.