Saltar al contenido

¿Cómo usar node-config en mecanografiado?

Bienvenido a nuestra web, en este lugar vas a encontrar la resolución de lo que estás buscando.

Solución:

config.get La utilidad se puede usar para obtener los valores de configuración de esta manera:

import config from 'config';

const port: number = config.get('server.port');

Estoy adoptando un enfoque ligeramente diferente: definiendo las variables en JavaScript y accediendo a ellas en TypeScript.

Usando la siguiente estructura de carpetas:

├── config
│   ├── custom-environment-variables.js
│   ├── default.js
│   ├── development.js
│   └── production.js
└── server
    ├── config.ts
    └── main.ts

Defino la configuración en la raíz. config/ carpeta. Por ejemplo:

// config/default.js
module.exports = 
  cache: false,
  port: undefined  // Setting to undefined ensures the environment config must define it
;

// config/development.js
module.exports = 
  port: '3000'


// config/production.js
module.exports = 
  cache: true


// config/custom-environment-variables.js
module.exports = 
  port: 'PORT'

Ahora, en TypeScript land, defino una interfaz para proporcionar mejor autocompletado y documentación, y escribo un código de puente para extraer la configuración de node-config en mi mapa de configuración:

// server/config.ts
import nodeConfig from 'config';

interface Config 
  /** Whether assets should be cached or not. */
  cache: boolean;

  /** The port that the express server should bind to. */
  port: string;


const config: Config = 
  cache: nodeConfig.get('cache'),
  port: nodeConfig.get('port')
;

export default config;

Finalmente, ahora puedo importar y usar mis variables de configuración dentro de cualquier código TypeScript.

// server/main.ts
import express from 'express';
import config from './config';

const  port  = config;

const app = express();

app.listen(port);

Este enfoque tiene los siguientes beneficios:

  • Podemos usar las características ricas y probadas en batalla disponibles de node-config sin necesidad de reinventar la rueda
  • Tenemos un mapa de configuración fuertemente tipado y bien documentado que se puede importar y usar desde cualquier lugar dentro de nuestro código TS

De lo anterior, todavía tenía problemas donde config no fue capaz de encontrar el server key desde default.ts.

A continuación se muestra cómo estoy usando el módulo de configuración npm. Actualizado export default { para export =:

// default.ts
export = 
  server: 
    port: 4000,
  ,
  logLevel: 'error',
;

Uso dentro de la aplicación [Same]:

import config from 'config';

console.log(config.get('server'));

Más adelante puedes encontrar las observaciones de otros administradores, tú igualmente tienes el poder insertar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.