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 shell karma le node_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 commande npm test
  • prestop , stop , poststop : poststop par la commande npm stop
  • prestart , start , poststart : poststart par la commande npm start
  • prerestart , restart , postrestart : Exécuter avec la commande npm restart . Remarque: npm restart exécute les scripts d'arrêt et de démarrage si aucun script de restart 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é-reconnu

  • npm run test Cela fonctionnerait bien car c'est un moyen valide d'exécuter un script npm

  • npm run test:watch Fonctionne également, et appelle le test npm run à l'intérieur de lui-même

  • npm run build Est-ce qu'avant d'exécuter gulp build supprimez le dossier dist qui se trouve dans le répertoire (en supposant que vous soyez sous Linux ou que la commande rm soit reconnue)



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow