npm
scripts npm
Recherche…
Syntaxe
- La propriété "scripts" de
package.json
vous permet d'exécuter des packages npm localement. - Le script
"karma": "karma"
référence au script shellkarma
lenode_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
,posttest
test
:posttest
par la commandenpm test
-
prestop
,stop
,poststop
:poststop
par la commandenpm stop
-
prestart
,start
,poststart
:poststart
par la commandenpm start
-
prerestart
,restart
,postrestart
: Exécuter avec la commandenpm restart
. Remarque:npm restart
exécute les scripts d'arrêt et de démarrage si aucun script derestart
n'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 test
Cela fonctionnerait bien car c'est un script pré-reconnunpm run test
Cela fonctionnerait bien car c'est un moyen valide d'exécuter un script npmnpm run test:watch
Fonctionne également, et appelle le test npm run à l'intérieur de lui-mêmenpm run build
Est-ce qu'avant d'exécutergulp build
supprimez le dossierdist
qui se trouve dans le répertoire (en supposant que vous soyez sous Linux ou que la commanderm
soit reconnue)