Pour un nouveau module, 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 tout simplement
_console.log('Hello')
_
Cependant, en cours d'exécution
_npm build
_
Quitte simplement sans rien imprimer, avec le statut 0.
Fonctionnement:
_npm install
_
Fait également toutes les choses normales, mais n'exécute pas build.js non plus.
Comment puis-je faire en sorte que NPM exécute mon script de construction?
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.
Malheureusement, _npm build
_ est déjà une commande internal , comme décrit dans la documentation :
C'est la commande de plomberie appelée par npm link et npm install. Il ne devrait généralement pas être appelé directement.
Comme cette commande existe déjà, elle ombrage toujours votre _"build": "node build.js"
_.
La manière entièrement qualifiée d’exécuter votre propre script consiste à utiliser run-script
_ OU SON ALIAS run
:
_$ npm run build
_
_npm start
_ et les autres sont le moyen le plus simple, mais n’est une option que si une commande npm existante ne l’observe pas, comme le fait _npm build
_.
Pour la postérité (comme d'autres l'ont déjà mentionné), _npm build
_ est utilisé par npm pour générer des addons C/C++ natifs Node à l'aide de node-gyp . Ce n'est pas bien documenté car généralement cela se fait automatiquement, mais si vous êtes intéressé, le le code source est ici .
Le script nommé "build" dans package.json
n'est en aucun cas spécial. Le seul moyen de le faire fonctionner est d'appeler:
npm run-script build
Certains noms 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
et postCUSTOM
pour les noms de script personnalisés.OK, pour exécuter une construction seule, utilisez:
npm run-script build
J'ai eu un problème avec npm run build
n'imprimant rien. fini par utiliser npm run build --verbose
pour obtenir le résultat dont j'avais besoin.
Npm build attend
Un dossier contenant un fichier package.json à la racine
Essayez d’utiliser scripts npm dans votre package.json, comme le classique npm start