npm
scripts npm
Recherche…
Syntaxe
- La propriété "scripts" de
package.jsonvous permet d'exécuter des packages npm localement. - Le script
"karma": "karma"référence au script shellkarmalenode_modules/.bin. Cette référence doit être saisie et un alias doit lui être appliqué pour pouvoir être utilisé dans d'autres scripts npm, tels que"test": "karma start".
Remarques
Scripts pré-reconnus
-
prepublish: Exécuter avant la publication du paquet -
publish,postpublish: Exécuter après la publication du package -
preinstall: Exécuter avant l'installation du paquet -
install,postinstall: Exécuter après l'installation du package -
preversion,version: Exécuter avant de cogner la version du package -
postversion: Exécuter après bump la version du package -
pretest,test,posttesttest:posttestpar la commandenpm test -
prestop,stop,poststop:poststoppar la commandenpm stop -
prestart,start,poststart:poststartpar la commandenpm start -
prerestart,restart,postrestart: Exécuter avec la commandenpm restart. Remarque:npm restartexécute les scripts d'arrêt et de démarrage si aucun script derestartn'est fourni.
On peut en déduire que la propriété "scripts" de package.json est un outil très puissant. Il peut être utilisé comme un outil de construction, similaire à Grunt et Gulp, mais avec plus de 250 000 paquets disponibles. Les scripts NPM exécutent les packages npm installés localement sur votre projet à partir du node_modules/.bin .
Lancer le karma localement
extrait de package.json
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}
Exécution de scripts npm
Il existe deux types de scripts npm, et la commande à exécuter est légèrement différente. Les premiers types de scripts npm sont des scripts "pré-reconnus". Ces scripts sont automatiquement reconnus par npm et n'ont pas besoin d'un préfixe spécial (comme vous le verrez pour l'autre type) pour les exécuter. Les autres types de scripts sont des scripts "personnalisés". Ces scripts ne sont pas pré-reconnus par npm et doivent être préfixés par une commande spéciale pour les exécuter. Il y a une liste de scripts pré-reconnus dans la section des remarques.
Pour exécuter des scripts pré-reconnus:
npm start ou npm test
Pour exécuter des scripts personnalisés, vous devez utiliser la commande run :
npm run karma
Quels sont les scripts npm et comment sont-ils déclenchés?
Les scripts npm sont des commandes que npm exécutera pour vous lorsqu'il est appelé avec les arguments appropriés. La puissance et le sens de ceci est de ne PAS installer les paquetages npm en globalisant votre environnement.
La différence entre les scripts pré-reconnus et les scripts personnalisés repose sur le mot d' run entre les balises, custom scripts custom nécessiteront une run entre npm et le nom du script.
Sur cette base, nous pouvons différencier et créer différentes tâches ou scripts à exécuter avec npm.
Étant donné l'exemple suivant sur le fichier package.json :
{
"name": "MyApp",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "mocha --recursive ./tests/",
"test:watch": "npm run test -- -w",
"start": "nodemon --inspect ./app.js",
"build": "rm -rf ./dist/ && gulp build"
}
...
}
Nous pouvons voir différentes tâches à exécuter:
npm testCela fonctionnerait bien car c'est un script pré-reconnunpm run testCela fonctionnerait bien car c'est un moyen valide d'exécuter un script npmnpm run test:watchFonctionne également, et appelle le test npm run à l'intérieur de lui-mêmenpm run buildEst-ce qu'avant d'exécutergulp buildsupprimez le dossierdistqui se trouve dans le répertoire (en supposant que vous soyez sous Linux ou que la commandermsoit reconnue)