Je viens de commencer à utiliser Grunt.js . C'est assez difficile à configurer et je suis sur le point de créer un package.json
fichier.
Après ce didacticiel , il indique qu'il existe 3 façons de créer un package.json
fichier.
Le premier est de faire npm install grunt --save-dev
Mais qu'est-ce que cela --save-dev
signifie? J'ai essayé de chercher mais ça se termine en vain.
Réponses:
Selon les documents d'installation de npm .
En d'autres termes, lorsque vous exécutez
npm install
, les devDependencies de votre projet seront installés, mais les devDependencies pour tous les packages dont dépend votre application ne seront pas installés; en outre, les autres applications ayant votre application comme dépendance n'ont pas besoin d'installer vos devDependencies. Ces 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 qui
npm install
fait:devDependency NON installédevDependency NON installédevDependency NON installéla source
npm install --dev
drapeau?npm install
, les devDependencies du projet seront également installées. Vous ne voulez pas que les devDependencies d'une dépendance soient installées. Si vous souhaitez développer sur un package npm, vous devezgit clone xxx
exécuter ce projet et l'exécuternpm install
.npm install
est exécuté dans votre projet, tous les devDependencies dans package.json seront installés, mais si vous empaquetez votre projet en tant que nouveau paquet npm et le publiez, lorsque quelqu'un d'autre installe votre paquet avec npm install, les devDependencies ne seront pas installé sur leur système. Est-ce correct? @stanzheng ou vous pouvez exécuter npm install --production pour tout installer dans package.json sauf les dépendances de devIl existe (au moins) deux types de dépendances de package que vous pouvez indiquer dans vos fichiers package.json:
Les packages requis pour utiliser votre module sont répertoriés sous la propriété "dépendances". En utilisant npm, vous pouvez ajouter ces dépendances à votre fichier package.json de cette façon:
Les packages requis pour aider à développer votre module sont répertoriés sous la propriété "devDependencies". Ces packages ne sont pas nécessaires pour que d'autres utilisent le module, mais s'ils veulent aider à développer le module, ces packages seront nécessaires. En utilisant npm, vous pouvez ajouter ces devDependencies à votre fichier package.json de cette façon:
la source
Pour compléter la réponse d'Andreas, vous pouvez installer uniquement les dépendances en utilisant:
la source
La documentation de npm pour
npm install <package-name> --save
etnpm install <package-name> --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
package.json
fichier déclare des métadonnées sur le module que vous développez. Les deux commandes susmentionnées modifient cepackage.json
fichier.--save
déclarera le package 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.Posez-vous la question: le package installé sera-t-il requis pour l'utilisation de mon module, ou ne sera-t-il nécessaire que pour le développer?
la source
Lorsque vous utilisez le paramètre "--save", votre dépendance ira à l'intérieur du n ° 1 ci-dessous dans package.json. Lorsque vous utilisez le paramètre "--save-dev", votre dépendance ira à l'intérieur du # 2 ci-dessous dans package.json.
#1. "dépendances": ces packages sont requis par votre application en production.
# 2. "devDependencies": ces packages ne sont nécessaires que pour le développement et les tests
la source
Pour moi, la première réponse semble un peu déroutante, alors pour faire court et propre:
npm install <package_name>
enregistre tous les packages spécifiés dans les dépendances par défaut . De plus, vous pouvez contrôler où et comment ils sont enregistrés avec des indicateurs supplémentaires:npm install <package_name> --no-save
Empêche l'enregistrement dans les dépendances.npm install <package_name> ---save-dev
met à jour ledevDependencies
dans votre package. Ils ne sont utilisés que pour les tests et le développement locaux.Vous pouvez en lire plus sur le dcu
la source