Les scripts npm regroupent un ensemble de commandes de terminal que vous pouvez utiliser pour automatiser des tâches dans un projet JavaScript. Ils fournissent également un moyen cohérent d’exécuter des commandes dans différents environnements.


Vous pouvez configurer les scripts npm dans un fichier package.json, les exécuter en ligne de commande et utiliser un large éventail d’options pour configurer leur comportement.

Configuration des scripts npm dans le fichier package.json

Vous définissez généralement les scripts npm dans un fichier package.json, situé à la racine de votre projet JavaScript. Ce n’est pas une obligation car vous pouvez exécuter des scripts à partir d’autres fichiers, mais le fichier package.json facilite l’accès et la gestion de vos scripts.

Notez que vous devez avoir installé npm et Node dans votre environnement de développement pour pouvoir suivre la procédure. Voici quelques articles utiles :

  • Comment installer Node.js et npm sous Windows.
  • Comment installer Node.js et npm sur Ubuntu.

Pour configurer un script npm dans package.json, suivez les étapes ci-dessous :

  1. Naviguez à la racine de votre projet.
  2. Exécutez npm init dans le terminal. La commande vous posera quelques questions sur votre projet. Répondez-y pour créer un fichier package.json approprié.
     npm init 
  3. Dans le fichier package.json, localisez le champ scripts. Ici, vous pouvez ajouter le nom d’un script et la commande qu’il doit exécuter sous forme de paires clé/valeur. Par exemple, le script ci-dessous, nommé hello-world, imprime « Hello world » dans le terminal lorsqu’il est exécuté.
     {
        "scripts": {
            "hello-world": "echo \\"Hello world\\""
        }
    }

Voici quelques scripts courants pour les projets JavaScript :

Lire  Boostez Votre Anonymat sur iPhone : Les Meilleurs VPN pour iOS en 2025

  • démarrer: Ce script démarre le serveur de développement. Par exemple, dans un projet Node, il peut lancer le serveur en utilisant nodemon.
  • construire: Génère le code de production de votre application et peut utiliser un outil comme webpack pour minifier et regrouper le code.
  • test: Ce script exécute les tests définis dans votre projet. Il peut exécuter un framework de test comme Jest.
  • lint: Un script lint exécute un outil de linting tel que ESLint pour vérifier le code à la recherche d’erreurs potentielles.
  • regarder: Ce script surveille les changements dans le code source et exécute ensuite une commande. Il est utile pour relancer les tests ou reconstruire l’application en cas de changement de code.
  • déployer: Exécute une commande qui déploie l’application vers l’environnement spécifié comme la production ou le staging.

Pré et post-scripts

npm prend en charge les scripts pre et post. Les pre scripts s’exécutent avant un script spécifique tandis que les post scripts s’exécutent après. Vous pouvez créer des scripts pre et post pour n’importe quel script, il suffit de préfixer « pre » ou « post » au nom de votre script.

Par exemple, voici les scripts pretest et posttest qui seront exécutés respectivement avant et après le script de test.

 {
    "scripts": {
        "pretest": "npm run lint",
        "test": "jest",
        "posttest": "npm run build"
    }
}

Exécution de scripts npm à partir de package.json

Une fois que vous avez ajouté un script npm à package.json, vous pouvez l’exécuter en utilisant la commande npm run.

Voici la syntaxe :

 npm run <script-name>

Par exemple, pour exécuter le script de démarrage défini précédemment, utilisez :

 npm run start

Vous pouvez exécuter la commande npm run seule, pour obtenir la liste de tous les scripts disponibles dans un projet. Voici quelques exemples de résultats :

 Scripts available in npm-scripts-demo@1.0.0 via `npm run-script`:
  hello-world
    echo "Hello world"

Il liste le nom du script et la commande qu’il exécute.

Lire  Samsung Galaxy S23 et S23+ : voici les caractéristiques, le prix et la date de sortie.

Utilisation de commandes raccourcies pour exécuter des scripts intégrés

npm supporte plusieurs scripts intégrés que vous pouvez exécuter en utilisant des commandes raccourcies. Par exemple, pour exécuter un script npm nommé start, vous pouvez utiliser npm start, au lieu de npm run start.

C’est plus pratique et plus rapide que de taper la commande complète. D’autres scripts intégrés que vous pouvez exécuter de cette manière incluent « test », « stop » et « restart ».

Exécution de plusieurs scripts npm

Vous pouvez exécuter plusieurs scripts npm de deux manières :

  • Séquentiellement
  • En parallèle

Si vous utilisez Linux, ou tout autre système de type Unix, vous pouvez utiliser les méthodes standard pour exécuter plusieurs commandes à la fois.

Pour exécuter plusieurs scripts npm de manière séquentielle, utilisez &&amp ;, par exemple :

 npm run start && npm test

Pour exécuter plusieurs scripts npm en parallèle, utilisez &amp ;, par exemple :

 npm run server & npm run client

Dans les environnements non-UNIX, vous pouvez utiliser la commande npm-run-all ou le paquet npm concurrent.

Utilisation de npm-run-all :

 npm-run-all --parallel server client

Utilisation simultanée dans package.json.

 "scripts": {
    "dev": "concurrently \\"npm run server\\" \\"npm run client\\"",
}

Notez que vous devez installer les paquets npm-run-all et Concurrently avant de les utiliser.

Dépannage des erreurs de script Npm courantes

Voici quelques erreurs courantes que vous pouvez rencontrer lors de l’exécution de scripts npm :

  • npm err ! script manquant – Cette erreur se produit lorsque vous n’avez pas défini le script que vous essayez d’exécuter dans le fichier package.json. Vérifiez que le nom du script est correctement orthographié et qu’il est défini dans le champ scripts du fichier package.json.
  • Permission refusée – Cette erreur se produit lorsque vous n’avez pas la permission d’exécuter un script. Assurez-vous que vous avez les bonnes permissions.
  • Dépendances manquantes – Cette erreur se produit lorsque le script utilise un paquet qui n’est pas installé. Utilisez un outil comme depcheck pour vérifier les dépendances manquantes dans le package.json puis installez-les en utilisant npm install.
  • Commande inconnue – Cette erreur se produit généralement lorsque vous exécutez un script personnalisé en tant que commande npm intégrée. Assurez-vous d’utiliser npm run ou npm run-script lors de l’exécution de scripts personnalisés.

Utilisation de variables d’environnement dans les scripts npm

Les variables d’environnement vous permettent de transmettre des informations sans les coder en dur. Pour utiliser des variables d’environnement dans un script npm, vous pouvez utiliser le paquet cross-env npm. Cet outil vous aide à définir une variable d’environnement dans n’importe quel environnement.

Lire  Comment résoudre le problème du remplacement automatique du pilote graphique AMD par Windows Update ?

Commencez par exécuter cette commande dans le terminal pour l’installer en tant que dépendance de dev :

 npm i save -D cross-env

Utilisez-le ensuite dans votre script comme ceci :

 {
    "scripts": {
        "build": "cross-env NODE_ENV=production webpack"
    }
}

Ici, cross-env définit la variable NODE_ENV à « production ».

Passage d’arguments de ligne de commande aux scripts

Vous pouvez passer des arguments de ligne de commande à un script npm en utilisant deux tirets « — » après le nom du script. Par exemple, la commande suivante exécute le script de test avec l’argument watch :

 npm run test -- --watch

Vous pouvez également envoyer un argument de ligne de commande à un script npm comme ceci :

 npm run my-port --PORT=3000

Vous pouvez ensuite y accéder dans le script comme suit.

 "scripts": {
    "my-port": "echo \\"Port: $npm_config_PORT\\""
}

Sur un système Windows, utilisez ceci :

 "scripts": {
    "my-port": "echo \\"Port: %npm_config_PORT%\\""
}

Le script devrait afficher « Port : 3000 » lorsque vous l’exécutez.

Pourquoi utiliser les scripts npm ?

Vous pouvez ajouter des scripts à package.json, les exécuter en ligne de commande, utiliser des hooks pré et post, et leur passer des arguments de ligne et des variables d’environnement.

Les scripts npm sont un moyen puissant d’automatiser les tâches dans les projets JavaScript. Ils peuvent améliorer votre flux de travail et vous faire gagner du temps en vous fournissant des commandes cohérentes pour exécuter plusieurs tâches.