Resumo de alguns cenários de uso da dependência de pares

Em cada projeto de aplicação web baseado em Node.js, temos um arquivo chamado package.json. Este arquivo contém todos os dados relevantes sobre o projeto, ou seja, metadados. Três tipos de dependência diferentes podem ser definidos em package.json: dependência, devDependency e Peer Dependency.

Este artigo descreve alguns cenários de uso comuns para dependência de pares.

  • Plugins Babel: No desenvolvimento de plugins Babel, o próprio Babel precisa ser definido como uma dependência de pares.

  • Pacotes de middleware expressos: este é um cenário típico de desenvolvimento de módulo NPM que requer o uso de dependências ponto a ponto. O desenvolvedor do pacote de middleware deseja declarar express como uma dependência, não como uma dependência. Caso contrário, cada instalação de cada pacote de middleware instalará o expresso inteiro na pasta node_modules.

  • Se você estiver criando um micro frontend, precisará determinar quais dependências são externas (para que não sejam empacotadas) e quais não são. As dependências ponto a ponto podem ser uma solução opcional para esse problema.
    todo o quadro.

  • Componentes Bit: Se você estiver escrevendo e publicando componentes front-end, como ao compartilhar componentes React no Bit. Nesse caso, o React pode ser declarado como uma dependência de peer do componente, com a semântica de que o desenvolvedor espera que o projeto host tenha a versão correta especificada pela dependência de peer.

Veja um exemplo prático, um botão que pode ser clicado repetidamente:

Após a instalação, observe a dependência de peer definida em seu package.json:

Neste arquivo package.json, este pacote não define nenhuma dependência direta, mesmo que funcione em cima do React. Garantimos que coisas como React e React-dom sejam necessárias, mas não instaladas. Essa é a semântica que as dependências ponto a ponto do NPM devem expressar.

Dada a flexibilidade da arquitetura baseada em plug-ins, muitas bibliotecas estão se aproveitando dela, permitindo que os desenvolvedores estendam organicamente a funcionalidade do framework de acordo com suas necessidades. Isso torna necessário que qualquer desenvolvedor interessado em desenvolver novos recursos para esses frameworks domine o uso adequado de Peer Dependency.

おすすめ

転載: blog.csdn.net/i042416/article/details/126419405