Utilice el comando: nombre del paquete de instalación npm o nombre del paquete npm i Los paquetes instalados localmente aparecen en el directorio node_module en el directorio actual Si el paquete instalado localmente tiene una CLI, npm colocará su secuencia de comandos CLI en node_modules/.bin y usará el comando npx para llamarlo.
1.2 Instalación global
Los paquetes instalados globalmente se colocan en un directorio global especial. Utilice el comando npm install --global nombre del paquete o npm i -g nombre del paquete. El paquete instalado globalmente no está disponible para todos los proyectos, solo proporciona herramientas CLI globales. En la mayoría de los casos, no es necesario instalar el paquete globalmente.
1.3 Comando de instalación
Depende del entorno de producción npm i nombre del paquete npm i --guardar nombre del paquete npm i -S nombre del paquete Instalar dependencias en el entorno de desarrollo. npm i --save-dev nombre del paquete npm i -D nombre del paquete
1.4 Cuando se utiliza nodejs para importar un módulo, si la ruta del módulo no comienza con ./ o.../, node pensará que el módulo importado proviene del directorio node_modules.
1.5. secuencia de comandos npm
Configure los comandos CLI más utilizados en el campo de script de package.json y use el nombre del script de ejecución npm para ejecutar el script. npx se puede omitir en el script.
2. Problemas pasados con npm:
Los directorios de dependencia están profundamente anidados: en el pasado, las dependencias de npm estaban anidadas y el sistema Windows no podía admitir directorios que fueran demasiado profundos.
Velocidad de descarga lenta: debido a los niveles de anidamiento profundos, las descargas de paquetes solo pueden ser en serie y se descargan repetidamente varios paquetes de la misma versión.
La salida de la consola es compleja: imprime muchos detalles del paquete
Problema de trasplante de proyecto: en el pasado, solo existía el archivo de configuración package.json, pero no el archivo package-lock.json.
3. La aparición del hilo porque tiene las siguientes ventajas:
Utilice una estructura de directorio plana
descarga paralela
Usar caché local
Optimice la información de salida de la consola y solo envíe información clave
Utilice el archivo thread-lock para registrar dependencias exactas
4. Influenciado por el hilo, npm6 se basó en los conceptos avanzados del hilo e realizó las siguientes optimizaciones:
Aplanamiento de directorios
descarga paralela
caché local
Utilice package-lock.json para registrar dependencias exactas
Se agregó una gran cantidad de alias de comando.
Npx integrado, puede iniciar herramientas CLI locales
Simplifica enormemente la salida de la consola
5.cnpm
El servidor de registro de npm está en el extranjero, lo que puede provocar descargas lentas o fallos. En el pasado, npm no proporcionaba la función de modificar el registro. Taobao creó su propio registro, que es el espejo de Taobao npm. Taobao también proporciona una herramienta CLI cnpm. Los otros usos son básicamente los mismos que npm.
6. pnpm
Al igual que npm y Yarn, el caché todavía se usa para guardar paquetes instalados.Utilice pnpm-lock.yaml para registrar versiones de dependencia detalladas
A diferencia de Yarn y npm, pnpm utiliza enlaces simbólicos y enlaces físicos para colocar dependencias, evitando la copia de archivos, mejorando la eficiencia de la instalación y reduciendo en gran medida el uso de espacio en disco.
Debido al uso de enlaces simbólicos y enlaces físicos, pnpm puede evitar el problema de rutas demasiado largas en los sistemas Windows, por lo que utiliza dependencias de árbol. Debido a las dependencias de los árboles, los proyectos solo pueden utilizar dependencias directas, no dependencias indirectas.
Siete, principio pnpm:
La esencia de un archivo: el archivo es en realidad un puntero que apunta a una dirección de almacenamiento externo (disco duro, unidad flash USB). Al eliminar un archivo, en realidad se elimina el puntero, por lo que es muy rápido.
Copia del archivo: copie el contenido señalado por el puntero del archivo y luego genere un nuevo puntero que apunte al nuevo contenido.
Enlace físico: copie un puntero de archivo A a otro puntero de archivo B. El archivo B es un vínculo físico al archivo A.
Enlace simbólico (enlace suave): cree un enlace simbólico B para un archivo o carpeta A, luego B apunta a A.
Acceso directo: similar a un enlace simbólico, es un método de enlace compatible con Windows en los primeros días. No es solo un puntero, sino que también contiene información diversa, como permisos, compatibilidad, método de inicio, etc. Los atajos son exclusivos de los sistemas Windows y no se utilizan en todas las plataformas.
La diferencia entre enlaces simbólicos y enlaces duros:
Los enlaces físicos solo pueden vincular archivos, mientras que los enlaces simbólicos pueden vincular archivos y directorios.
Una vez completada la conexión, el enlace físico solo se asocia con el contenido del archivo y no tiene nada que ver con el enlace anterior. Los enlaces simbólicos siempre están asociados con el archivo previamente vinculado y no están asociados directamente con el archivo de contenido.