Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

283
Visualizações
Vincular un paquete como una dependencia del paquete Lerna para el desarrollo

La estructura de mi proyecto es la siguiente:

 packages/ client/ package.json server/ package.json shared/ package.json lerna.json package.json

El archivo package.json del client contiene las siguientes dependencias:

 { "name": "@my-project/client", "dependencies": { // ... "@my-project/shared": "*", "cool-components": "^1.0.0', // ... } }

@my-project/shared es el nombre del paquete del directorio packages/shared .

Estoy dispuesto a usar npm link para desarrollar la biblioteca cool-components y usar npm link para usar su código dentro de @my-project/client .

Actualmente, traté de ejecutar:

 cd packages/client npm link cool-components

Y para desvincular:

 npm unlink cool-components

Pero recibo un error que dice que @my-project/shared no está en el registro de NPM.

Esto es absolutamente comprensible; Cuando ejecuto comandos NPM en el ámbito de @my-project/client , no está familiarizado con sus paquetes hermanos e intenta buscar este paquete en el registro. Esta es la razón por la que debemos usar lerna add en la raíz en lugar de npm install dentro de cada paquete.

Aunque entiendo la causa, no pude encontrar una forma adecuada de usar npm link para desarrollar otro paquete mientras lo usaba dentro de mi monorepo de Lerna.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Agregas @my-project/shared a @my-project/client con:

 // this creates link between packages lerna add @my-project/shared --scope=@my-project/client

Ahora, si revisa los módulos de nodo dentro @my-project/client , debería ver @my-project/shared .

Si desea acceder a una dependencia en su paquete de nodo, use

require.resolve : // require.resolve te dará la ruta absoluta

 const packagePath = require.resolve("@my-project/build/index.js"); // to use the this package, for exampe in express.static // path.dirname will give you path until build directory // so you are going to serve up that folder app.use(express.static(path.dirname(packagePath)));

en el lado del cliente, importar el módulo desde la ruta de los módulos del nodo debería funcionar sin ninguna configuración. Si no es así, intente resolver la ruta de los módulos del nodo a la ruta absoluta.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda