¿Qué son las dependencias entre pares en un módulo de nodo?

Una explicación simple del campo peerDependencies en el archivo package.json

En algunospackage.jsonarchivos, es posible que vea algunas líneas como esta:

{
  //...
  "peerDependencies": {
    "libraryName": "1.x"
  }
}

Es posible que ya hayas vistodependenciesydevDependencies, pero nopeerDependencies.

dependenciesson los paquetes de los que depende su proyecto.

devDependenciesson los paquetes que se necesitan durante la fase de desarrollo. Di un marco de prueba comoBromau otras utilidades comoBabeloESLint.

En ambos casos, cuando instala un paquete, sus dependencias y devDependencies son instaladas automáticamente pornpm.

peerDependenciesson diferentes. No se instalan automáticamente.

Cuando una dependencia aparece en un paquete como peerDependency,no se instala automáticamente. En cambio, el código que incluye el paquete debe incluirlo como su dependencia.

npmte advertirá si corresnpm instally no encuentra esta dependencia.

Ejemplo: digamos paqueteaincluye dependenciab:

a/package.json

{
  //...
  "dependencies": {
    "b": "1.x"
  }
}

Paqueteba su vez quiere paqueteccomo peerDependency:

b/package.json

{
  //...
  "peerDependencies": {
    "c": "1.x"
  }
}

En el paquete A, debemos agregarccomo una dependencia, de lo contrario, cuando instale el paqueteb, npm le dará una advertencia (y es probable que el código falle en tiempo de ejecución):

a/package.json

{
  //...
  "dependencies": {
    "b": "1.x",
    "c": "1.x"
  }
}

Las versiones deben ser compatibles, por lo que si una peerDependency aparece como2.x, no puedes instalar1.xu otra versión. Todo siguecontrol de versiones semántico.

Descarga mi gratisManual de Node.js


Más tutoriales de nodos: