Découvrez la relation entre npm install -g et npm install --save-dev dans un article

Cet article est partagé par Huawei Cloud Community « La relation entre npm install -g et npm install --save-dev » , auteur : SHQ5785.

1. npm installer l'installation locale

  1. Placez le package d'installation sous ./node_modules (le répertoire où la commande npm est exécutée). S'il n'y a pas de répertoire node_modules, le répertoire node_modules sera généré dans le répertoire où la commande npm est actuellement exécutée.
  2. Les packages d'installation locale peuvent être introduits via require().

2. npm install -g installation globale

  1. Placez le package d'installation sous /usr/local ou dans le répertoire d'installation du nœud.
  2. Peut être utilisé directement depuis la ligne de commande.

3. npm install --save

  1. Le package de build sera installé dans le répertoire node_modules ;
  2. Build sera ajouté sous l'attribut dependencies de package.json ;
  3. Lorsque vous exécuterez la commande npm install ultérieurement, la build sera automatiquement installée dans le répertoire node_modules ;
  4. Lorsque vous exécuterez ultérieurement npm install --production ou indiquerez que la valeur de la variable NODE_ENV est production, msbuild sera automatiquement installé dans le répertoire node_modules ;

4. npm install --save-dev

  1. Le package msbuild sera installé dans le répertoire node_modules ;
  2. msbuild sera ajouté sous l'attribut devDependencies de package.json ;
  3. Lorsque vous exécuterez la commande npm install ultérieurement, msbuild sera automatiquement installé dans le répertoire node_modules ;
  4. Lorsque vous exécutez ultérieurement npm install --production ou indiquez que la valeur de la variable NODE_ENV est production, msbuild ne sera pas automatiquement installé dans le répertoire node_modules ;

5. La différence entre les dépendances et les devDependencies dans package.json

  • dépendances:

Packages dont dépend l’application pour son fonctionnement normal. Ce type de dépendances est le plus courant. Les utilisateurs installeront automatiquement ces dépendances lorsqu'ils utiliseront npm install pour installer des packages.

  • devDépendances:

Boîtes à outils utilisées lors du développement d'applications. Habituellement, certains outils de développement , de test et d'empaquetage , tels que webpack, ESLint et Mocha. Le fonctionnement normal de l'application ne dépend pas de ces packages, et les utilisateurs n'installeront pas ces dépendances lorsqu'ils utiliseront npm install pour installer des packages.

  • peerDependencies:

Packages hôtes dont dépend l’application pour exécuter . Les plus courants sont les plug-ins , tels que divers plug-ins jQuery. Ces plug-ins eux-mêmes ne contiennent pas jQeury et doivent être fournis en externe. Cette dépendance sera automatiquement installée lorsque les utilisateurs utiliseront npm 1 ou 2. npm 3 ne l'installera pas automatiquement et invitera l'utilisateur à l'installer.

  • Dépendances groupées:

Les dépendances qui doivent être empaquetées lors de la publication d'un package semblent rares.

  • Dépendances facultatives:

Dépendances facultatives. Cette dépendance n'est pas nécessaire pour que le programme s'exécute, mais il peut y avoir de nouvelles fonctions après l'installation, comme une bibliothèque de décodage d'images. Après avoir installé les dépendances facultatives, davantage de formats seront pris en charge.

Alors, quelle est la différence entre les objets devDependencies et dependencies dans le fichier package.json ?

Les plug-ins dans devDependencies (tels que divers chargeurs, compartiments de la famille Babel et divers plug-ins Webpack, etc.) ne sont utilisés que dans l'environnement de développement, pas dans l'environnement de production, ils n'ont donc pas besoin d'être empaquetés ; doit être publié dans l'environnement de production et doit être empaqueté.

 

Cliquez pour suivre et découvrir les nouvelles technologies de Huawei Cloud dès que possible~

 

Les ressources piratées de "Qing Yu Nian 2" ont été téléchargées sur npm, obligeant npmmirror à suspendre le service unpkg. Zhou Hongyi : Il ne reste plus beaucoup de temps à Google. Je suggère que tous les produits soient open source. time.sleep(6) joue ici un rôle. Linus est le plus actif dans la « consommation de nourriture pour chiens » ! Le nouvel iPad Pro utilise 12 Go de puces mémoire, mais prétend disposer de 8 Go de mémoire. Le People's Daily Online examine la charge de type matriochka des logiciels de bureau : Ce n'est qu'en résolvant activement « l'ensemble » que nous pourrons avoir un avenir avec Flutter 3.22 et Dart 3.4 . nouveau paradigme de développement pour Vue3, sans avoir besoin de « ref/reactive », pas besoin de « ref.value » Publication du manuel chinois MySQL 8.4 LTS : vous aider à maîtriser le nouveau domaine de la gestion de bases de données Tongyi Qianwen niveau GPT-4 prix du modèle principal réduit de 97%, 1 yuan et 2 millions de jetons
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4526289/blog/11183599
conseillé
Classement