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

95
Vistas
¿Hay alguna posibilidad de evitar múltiples ../ cuando estamos importando una función?

Quiero evitar esto al importar una función.

 const ApiError = require('../../../../classes/ErrorClass');

Hay alguna posibilidad de usar, no sé Ex:

 require('mypath/ErrorClass')

Si tengo 11 importaciones no quiero tener algo así

 const ApiError = require('../../../../classes/ErrorClass'); const ex= require('../../../classes/ApiClass'); const ex1= require('../../../../utils/utils'); const ex2= require('../../../etc/etc'); const ex3= require('../../../../../etc/etc'); const ex4= require('../../../../etc/etc'); const ex5= require('../../../../etc/etc'); const ex6= require('../../../../etc/etc');

¡Gracias!

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Sí, puedes hacerlo con package.json . Imagina que tienes la siguiente estructura:

 my-app/ ├─ src/ │ ├─ index.js │ ├─ node_modules/ │ ├─ dir/ │ │ ├─ nested/ │ │ │ ├─ nestedMod.js │ ├─ function/ │ │ ├─ myMod.js │ │ ├─ myMod3.js │ │ ├─ myMod2.js ├─ package.json

Tienes que agregar el campo de imports en package.json

 { "name": "my-app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "imports": { "#nestedMod": "./src/dir/nested/nestedMod.js", "#myFunc": "./src/function/myMod.js", "#myFunc2": "./src/function/myMod2.js", "#myFuncs/*": "./src/function/*.js" } }

entonces puedes hacer:

 const nestedMod = require('#nestedMod') const myFunc = require('#myFunc') const myFunc2 = require('#myFunc2') const myFunc3 = require('#myFuncs/myMod3')

PD: Solo funciona en Node

about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado que no hay información sobre su configuración, intentaré proporcionar algunas soluciones diferentes aquí.

paquete web

Si está utilizando un paquete web, puede usar una configuración de alias para la propiedad de resolución para crear una asignación entre su ruta real y cómo desea llamarla. Se vería algo como esto:

 const path = require('path'); module.exports = { resolve: { alias: { Components: path.resolve(__dirname, '/path/to/function') } } }

Consulte los documentos del paquete web del formulario de capítulo de resolución para obtener más información.

Mecanografiado

Al usar TypeScript, puede especificar la propiedad baseUrl en tsconfig.json , lo que le permitiría especificar cada importación en relación con la ruta que especificó allí. Digamos que tiene esta ruta: '../../../../classes/ErrorClass' , que, expandida, podría verse como: src/some/folder/structure/classes/ErrorClass . Después de la configuración, esto podría parecerse a classes/ErrorClass , si la baseUrl está configurada en src/some/folder/structure .

about 4 years ago · Juan Pablo Isaza Denunciar

0

le gustaría usar un nodo de variable incorporado proporcionado __dirname para tener el directorio raíz de la aplicación

digamos que tienes este directorio

 myapp/ ├─ utils/ │ ├─ main.js ├─ lib/ │ ├─ mylib.js ├─ node_modules/

Entonces, main.js:

 const mylib = require(__dirname + '/lib/mylib')
about 4 years ago · Juan Pablo Isaza 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