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

231
Vistas
Importar un archivo JSON en mecanografiado

Tengo un archivo JSON al que quiero acceder a través de la declaración de importación. No quiero exponer el nombre directamente en el código, sino leer el nombre del archivo .env e importarlo.

Aquí hay un fragmento de mi código que funciona importando directamente el archivo. ¿Cómo puedo cambiarlo para poder leer el nombre del archivo desde .env e importar el archivo real?

 import keys from 'home/path/account.json'; class SecurityServices { getToken(){ return keys.certs; } }

básicamente tengo el archivo env con la ruta y lo importé en mi código mecanografiado.

.env { "keyFile":"inicio/ruta/cuenta.json'" }

Gracias

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

0

Usaría algo como https://www.npmjs.com/package/properties-reader

Cargue las propiedades de un archivo usando eso. Póngalo en un objeto, importe ese archivo de objeto y use la propiedad. Por ejemplo

 let PropertiesReader = require('properties-reader'); let properties = null; try { debugLog('Looking for ' + os.homedir() + '/app.properties') properties = PropertiesReader(os.homedir() + '/app.properties'); debugLog('Found ' + os.homedir() + '/app.properties') } catch(e) { debugLog(os.homedir() + '/app.properties' + ' not found. Using default properties') }

después

 const prop = properties.get(name);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si solo desea reemplazar un poco de texto en el momento de la compilación, los paquetes como el resumen son la herramienta para usted. Por ejemplo:

 // file.ts import keys from 'home/path/account.json'; // rollup.config.js import replace from '@rollup/plugin-replace'; export default { client: { plugins: [ replace({ 'home/path/account.json': process.env.keyFile })

Debería poder lograr algo similar con webpack, gulp y la mayoría de los otros paquetes modernos.

Alternativamente (y mi preferencia), considere hacer una importación dinámica . Tenga en cuenta que esto requiere usar Promises agregando un factor asíncrono a su código:

 let _loadedJson: any = null; export async function getJsonFromFile() { if (_loadedJson === null) { // This dynamic import will happen one time, when this is first called. _loadedJson = await import(process.env.keyFile); } // Optionally assert a type at return since dynamic imports resolve to `any`. return _loadedJson as Record<string, any> }

Con este enfoque, reduce el tamaño de compilación inicial a costa de tener que trabajar con JSON de forma asíncrona.

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