Как использовать node-config в машинописи? - PullRequest
0 голосов
/ 12 июня 2018

После установки node-config и @types/config:

yarn add config
yarn add --dev @types/config

и добавления конфигурации, как описано в lorenwest / node-config :

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

КогдаЯ пытаюсь использовать в своем приложении:

import config from 'config';

console.log(config.server);

Я получаю сообщение об ошибке:

src/app.ts(19,53): error TS2339: Property 'server' does not exist on type 'IConfig'.

Ответы [ 4 ]

0 голосов
/ 18 марта 2019

Используйте это "import * как config из 'config';"вместо "импортировать конфигурацию из" конфигурации ";

    import * as config from 'config';

    const port = config.get('server.port');
    console.log('port', port);
    // port 4000

config / development.json

    {
      "server": {
          "port": 4000
      }
    }

и установить NODE_ENV = development

 export NODE_ENV=development

примечание:Нет необходимости устанавливать этот NODE_ENV, если вы используете значение по умолчанию

0 голосов
/ 08 января 2019

Я использую IConfig интерфейс, поэтому я могу сначала указать путь к конфигурации:

import { IConfig } from 'config';

export function dosomething() {

  process.env["NODE_CONFIG_DIR"] = 'path to config dir';

  //using get
  const config: IConfig = require("config");
  const port = config.get('server.port');
  console.log('port', port);

  //using custom schema
  const config2: { server: { port: number } } = require("config");
  console.log('config2.server.port', config2.server.port);

}

//port 4000
//config2.server.port 4000
0 голосов
/ 14 февраля 2019

Из предыдущего у меня все еще была проблема, когда config не смог найти ключ server от default.ts.

Ниже описано, как я использую модуль конфигурации npm.Обновлено export default { до export =:

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

Использование в приложении [То же]:

import config from 'config';

console.log(config.get('server'));
0 голосов
/ 12 июня 2018
Утилита

config.get может использоваться для получения значений конфигурации следующим образом:

import config from 'config';

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