Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

330
Vistas
Espacios de trabajo de NPM 7 con babel: importación entre espacios de trabajo

Me encontré con un problema al usar los espacios de trabajo de NPM 7 y Babel, donde no entiendo cuál es la mejor manera de poder import desde src/ durante el desarrollo, pero uso dist/ durante la producción.

Disculpas por mi horrible explicación, solo haré un ejemplo (esto excluye los archivos de configuración y demás por brevedad):

La estructura de mi proyecto es así:

 - / - lambdas/lambda-a - src/ - package.json - packages/package-a - src/ - package.json - package.json

Tengo mi campo main en packages/package-a/package.json así:

 { ... "main": "src/index.js", ... }

Lo que significa que puedo importar cosas de packages/package-a muy bien en lambdas/lambda-a/src/index.js :

 import { thing } from '<package-a>'

Sin embargo, al tener el campo main apuntando a src/index.js , esto no funcionará en producción, y si cambio el campo main a dist/index.js ya no puedo importar en lambdas/lambda-a durante desarrollo sin ejecutar una compilación después de cada cambio.

¿Alguien tiene una solución para esto? O, más probablemente, ¿alguien puede señalar dónde estoy siendo un muppet?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La solución que uso es reemplazar src/index.js antes de construir y reemplazarlo nuevamente después de que se haya completado la construcción/empaque. Esto no es elegante ni "cómo deberías hacerlo" (AFAIK), pero me funciona en un proyecto pequeño.

Uso npe porque es liviano, pero existen paquetes similares (o más potentes).

Ejemplo ( packages/package-a/package.json ):

 ... "devDependencies": { "npe": "^1.1.4" }, "scripts": { "build:before": "npe main dist/index.js'", "build": "(npm run build:before) && (if exist dist rmdir /s /q dist) && (babel src -d dist --copy-files) && (npm pack) && (npm run build:after)", "build:after": "npe main src/index.js", }, ...

Pero también sigo buscando una forma más "oficial"...

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda