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

373
Views
Sobrescribir o sobrecargar una ruta de nombre de node_module

Supongamos que tengo un node_module instalado llamado magicalModule y lo instalé a través npm i magicalModule .

Lo importo a mi código a través de const magic = require('magicalModule') .

¿Hay alguna manera de sobrescribir esa ruta específica para poder usar mi propio módulo en su lugar?

Por ejemplo, tengo una versión modificada de ese módulo que quiero usar en lugar del paquete instalado. Tal vez coloque algo en package.json o algo como:

 dependencies:{ Alias:{ 'magicalModule': process.env.local ? './myPath' : 'magicalModule' } }

Algo como arriba...

Sé que hay un módulo llamado Module-alias pero no estoy seguro de si se ajusta a mi caso de uso.

En cuanto a por qué tendría que hacer algo como esto es porque hay un paquete NPM que se usa mucho en varios archivos y quiero reemplazarlo con otro paquete NPM que estoy desarrollando actualmente. ¿Quieres probarlo localmente antes de publicar ese paquete NPM...

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si necesita una importación dinámica, coloque require en una condición if

 let myModule = require(process.env.local ? './myPath' : 'myModule'); // make sure there is index.js inside

No puede hacerlo en package.json ya que ese archivo es estático. Sin embargo, si de alguna manera puede editar el paquete json, entonces se pueden agregar dependencias locales como

 "dependencies": { "bar": "file:./myPath" // package.json is read inside of ./myPath }
over 4 years ago · Santiago Trujillo Report

0

Sí, después de algunos retoques, la solución fue usar module-alias después de todo. En mi archivo principal, agregué en la parte superior antes de cualquier código:

 if(process.env.useLocal) require('module-alias/register')

Luego, en mi archivo package.json agregué:

 "_moduleAliases": { "magicalModule" : "path_to_file" }

después de mi sección de dependencias, sobrescribe la ruta a node_modules y mi proyecto usará mi módulo local en su lugar.

Espero que esto ayude a cualquier otra persona que necesite hacer algo similar a mí.

Salud

over 4 years ago · Santiago Trujillo Report
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!