Grunt.js: Que signifie -save-dev pour npm install grunt –save-dev

Je viens de commencer à utiliser Grunt.js . C’est assez difficile à configurer et je suis sur le sharepoint créer un fichier package.json .

À la suite de ce tutoriel , il est indiqué qu’il existe trois façons de créer un fichier package.json .

Le premier est de faire npm install grunt --save-dev

Mais que veut dire --save-dev ? J’ai essayé de regarder mais ça se termine en vain.

–save-dev: le package apparaîtra dans vos devDependencies.

Selon le npm install docs .

Si quelqu’un prévoit de télécharger et d’utiliser votre module dans son programme, il ne veut probablement pas ou n’a pas besoin de télécharger et de construire le framework de test ou de documentation externe que vous utilisez.

En d’autres termes, lorsque vous exécutez npm install , les devDependencies de votre projet seront installées, mais les devDependencies pour tous les packages dont dépend votre application ne seront pas installées; de plus, les autres applications ayant votre application en tant que dépendance ne doivent pas installer vos devDependencies. De tels modules ne devraient être nécessaires que lors du développement de l’application (par exemple, grunt, mocha, etc.).

Selon les documents package.json .

Edit: Essayez de visualiser ce que fait npm install :

  • votre projet
    • dépendance installée
      • dependecy installé
        • dependecy installé
        • devDependency n’est pas installé
      • devDependency n’est pas installé
    • devDependency installé
      • dependecy installé
      • devDependency n’est pas installé

Il existe (au moins) deux types de dépendances de package que vous pouvez indiquer dans vos fichiers package.json:

  1. Les packages requirejs pour utiliser votre module sont répertoriés sous la propriété “dependencies”. En utilisant npm, vous pouvez append ces dépendances à votre fichier package.json de la manière suivante:

     npm install --save packageName 
  2. Les paquets requirejs pour vous aider à développer votre module sont listés sous la propriété “devDependencies”. Ces packages ne sont pas nécessaires aux autres utilisateurs du module, mais s’ils veulent aider à développer le module, ces packages seront nécessaires. En utilisant npm, vous pouvez append ces devdependencies à votre fichier package.json de la manière suivante:

     npm install --save-dev packageName 

Pour append à la réponse d’Andreas, puisque je ne peux pas encore commenter, vous pouvez installer uniquement les dépendances en utilisant: npm install --production

La documentation de npm pour npm install --save et npm install --save-dev peut être trouvée ici:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

Un fichier package.json déclare des métadonnées sur le module que vous développez. Les deux commandes susmentionnées modifient ce fichier package.json . --save déclarera le paquet installé (dans ce cas, grunt ) comme une dépendance pour votre module; --save-dev le déclarera comme une dépendance pour le développement de votre module.

Demandez-vous: le paquet installé sera-t-il requirejs pour utiliser mon module ou sera-t-il seulement nécessaire pour le développer?

Lorsque vous utilisez le paramètre “–save”, votre dépendance ira à l’intérieur du # 1 dans package.json. Lorsque vous utilisez le paramètre “–save-dev”, votre dépendance ira à l’intérieur du # 2 dans package.json.

1) “dépendances”: ces packages sont requirejs par votre application en production.

2) “devDependencies”: ces packages ne sont nécessaires que pour le développement et les tests