Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
¿Cómo evitar que el complemento Storybook intente importar, en tiempo de compilación, todos los archivos homónimos incluidos con la ruta dinámica con require ()?

Tengo un problema en un complemento de Storybook que creé.

ESCENARIO ACTUAL

El problema ocurre en el entorno del complemento Storybook cuando se importa una función aleatoria (llamémosla getSomeData ) desde un archivo (llamémoslo lib.ts ) que contiene otras funciones que requieren archivos .md con rutas dinámicas (por ejemplo, un README.md expediente)

lib.ts

 const getSomeData = () => { ... return ... } export const getPackageReadme = (packageName: string) => { try { return require(`@namespace/${packageName}/README.md`) } catch { return null } }

Esta dinámica requiere que importe estos archivos .md como README.md y se ejecutan en tiempo de compilación por el motor Storybook.

El hecho extraño es que en el registro de Storybook parece que esta función se ejecuta y lee todos los archivos .md con el nombre exacto README.md que viven en todas partes en el repositorio actual, también dentro de node_modules, dando una cantidad exacta de errores como la cantidad de todos los archivos README.md encontrados en el repositorio actual. Y, en consecuencia, la compilación de Storybook falla.

Si bien este error ocurre en el tiempo de compilación de Storybook, en el tiempo de ejecución en el navegador ocurre cualquier problema y todo funciona como se esperaba.

SOLUCIÓN ACTUAL

La solución actual, que huele a gancho, para solucionar el problema fue dividir este lib.ts en diferentes archivos (por ejemplo , lib-md.ts y lib-data.ts ). De esta manera, el complemento Storybook incluye solo lib-data.ts y, de esta manera, se requiere cualquier archivo README.md en tiempo de compilación, por lo que la compilación tiene éxito.

lib-data.ts

 const getSomeData = () => { ... return ... }

lib-md.ts

 export const getPackageReadme = (packageName: string) => { try { return require(`@namespace/${packageName}/README.md`) } catch { return null } }

¿Hay alguna solución para evitar este error?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!