Maison >interface Web >js tutoriel >Comment puis-je transmettre des arguments de ligne de commande à mes scripts npm ?

Comment puis-je transmettre des arguments de ligne de commande à mes scripts npm ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-12 15:22:11479parcourir

How Can I Pass Command Line Arguments to My npm Scripts?

Envoi d'arguments de ligne de commande au script npm

En ce qui concerne les scripts npm, on souhaite souvent transmettre des arguments de la ligne de commande au script en cours d'exécution. Voyons comment y parvenir.

npm 2 et plus récents

À partir de npm 2, passer des arguments est simple :

npm run <command> [-- <args>]

L'élément crucial ici est le - - séparateur. Il fait la distinction entre les arguments destinés à npm et ceux destinés à votre script.

Par exemple, avec l'extrait package.json ci-dessous :

{
  "scripts": {
    "grunt": "grunt",
    "server": "node server.js"
  }
}

Vous pouvez transmettre des arguments comme suit :

npm run grunt -- task:target  // invokes `grunt task:target`
npm run server -- --port=1337 // invokes `node server.js --port=1337`

Remarque : Explicite -- la séparation est recommandée même lorsque les arguments ne commencent pas par - ou --. Considérez :

npm run test foobar
['C:\Program Files\nodejs\node.exe', 'C:\git\myrepo\test.js', 'foobar']

En revanche, l'utilisation d'explicit -- supprime toute ambiguïté :

npm run test -- foobar
['C:\Program Files\nodejs\node.exe', 'C:\git\myrepo\test.js', 'foobar']

Pour accéder aux valeurs des paramètres dans votre script, reportez-vous à process.argv. Vous pouvez également envisager d'utiliser des bibliothèques d'analyse telles que yargs ou minimist pour une plus grande flexibilité dans la gestion des arguments, y compris les paramètres nommés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn