Conozca la relación entre npm install -g y npm install --save-dev en un artículo

Este artículo se comparte desde Huawei Cloud Community "La relación entre npm install -g y npm install --save-dev" , autor: SHQ5785.

1. npm instala la instalación local

  1. Coloque el paquete de instalación en ./node_modules (el directorio donde se ejecuta el comando npm). Si no hay un directorio node_modules, el directorio node_modules se generará en el directorio donde se ejecuta actualmente el comando npm.
  2. Los paquetes de instalación locales se pueden introducir mediante require().

2. npm install -g instalación global

  1. Coloque el paquete de instalación en /usr/local o en el directorio de instalación del nodo.
  2. Se puede utilizar directamente desde la línea de comando.

3. instalación npm --guardar

  1. El paquete de compilación se instalará en el directorio node_modules;
  2. La compilación se agregará bajo el atributo de dependencias de package.json;
  3. Cuando ejecute el comando npm install más adelante, la compilación se instalará automáticamente en el directorio node_modules;
  4. Cuando luego ejecute npm install --production o indique que el valor de la variable NODE_ENV es producción, msbuild se instalará automáticamente en el directorio node_modules;

4. instalación npm --save-dev

  1. El paquete msbuild se instalará en el directorio node_modules;
  2. msbuild se agregará bajo el atributo devDependencies de package.json;
  3. Cuando ejecute el comando npm install más adelante, msbuild se instalará automáticamente en el directorio node_modules;
  4. Cuando luego ejecute npm install --production o indique que el valor de la variable NODE_ENV es producción, msbuild no se instalará automáticamente en el directorio node_modules;

5. La diferencia entre dependencias y devDependencies en package.json

  • dependencias:

Paquetes de los que depende la aplicación para su funcionamiento normal. Este tipo de dependencias es el más común. Los usuarios instalarán automáticamente estas dependencias cuando utilicen npm install para instalar paquetes.

  • devDependencias:

Kits de herramientas en los que se basa el desarrollo de aplicaciones. Por lo general, algunas herramientas de desarrollo , prueba y empaquetado , como webpack, ESLint y Mocha. El funcionamiento normal de la aplicación no depende de estos paquetes y los usuarios no instalarán estas dependencias cuando utilicen npm install para instalar paquetes.

  • dependencias de pares:

Paquetes de host de los que depende la aplicación para ejecutarse . Los más típicos son los complementos , como varios complementos de jQuery. Estos complementos en sí no contienen jQeury y deben proporcionarse externamente. Esta dependencia se instalará automáticamente cuando los usuarios usen npm 1 o 2. npm 3 no la instalará automáticamente y le pedirá al usuario que la instale.

  • Dependencias incluidas:

Las dependencias que deben empaquetarse al publicar un paquete parecen ser raras.

  • Dependencias opcionales:

Dependencias opcionales. Esta dependencia no es necesaria para que el programa se ejecute, pero puede haber nuevas funciones después de la instalación, como una biblioteca de decodificación de imágenes. Después de instalar las dependencias opcionales, se admitirán más formatos.

Entonces, ¿cuál es la diferencia entre los objetos devDependencies y dependencies en el archivo package.json?

Los complementos en devDependencies (como varios cargadores, depósitos de la familia Babel y varios complementos de paquetes web, etc.) solo se usan en el entorno de desarrollo, no en el entorno de producción, por lo que no es necesario empaquetarlos como dependencias; para ser lanzado al entorno de producción y debe ser empaquetado.

 

Haga clic para seguir y conocer las nuevas tecnologías de Huawei Cloud lo antes posible ~

 

Los recursos pirateados de "Qing Yu Nian 2" se cargaron en npm, lo que provocó que npmmirror tuviera que suspender el servicio unpkg: No queda mucho tiempo para Google. Sugiero que todos los productos sean de código abierto. time.sleep(6) aquí juega un papel. ¡Linus es el más activo en "comer comida para perros"! El nuevo iPad Pro utiliza 12 GB de chips de memoria, pero afirma tener 8 GB de memoria. People's Daily Online revisa la carga estilo matrioska del software de oficina: Sólo resolviendo activamente el "conjunto" podremos tener un futuro para Flutter 3.22 y Dart 3.4 . nuevo paradigma de desarrollo para Vue3, sin necesidad de `ref/reactive `, sin necesidad de `ref.value` Lanzamiento del manual chino de MySQL 8.4 LTS: le ayudará a dominar el nuevo ámbito de la gestión de bases de datos Tongyi Qianwen Precio del modelo principal de nivel GPT-4 reducido en un 97%, 1 yuan y 2 millones de tokens
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4526289/blog/11183599
Recomendado
Clasificación