require (‘config’) ничего не загрузил в debug

#node.js #node-config

#node.js #node-config

Вопрос:

Мое приложение nodejs config = require('config') (3.0.1) ничего не возвращает в debug. Вот вывод консоли:

  config: 
 Config {}
  

NODE_ENV определяется только в development.json, и загрузка в development не вызывает проблем.

Вот файлы в разделе ./config:

введите описание изображения здесь

Что могло вызвать сбой загрузки модуля конфигурации в debug?

Комментарии:

1. Вам нужен index.js в каталоге config. Вам нужен пример каталога конфигурации?

2. Julien TASSIN пример был бы очень полезен. Спасибо.

3. о, извините, я не видел, что вы использовали node-config , я думал, вы используете чистые nodejs. Я не знаю эту библиотеку :/

Ответ №1:

Имена файлов конфигурации должны быть привязаны к NODE_ENV или NODE_CONFIG_ENV, которые вы устанавливаете при запуске своего приложения. (https://github.com/lorenwest/node-config/wiki/Configuration-Files#file-load-order )

Вы не устанавливаете NODE_ENV в самих файлах конфигурации.

Так, например (предполагая, что команда для запуска вашего приложения npm start ):

NODE_CONFIG_ENV=foo npm start

^ Это сначала загрузило бы все свойства конфигурации в default.json , затем переопределило бы их любыми свойствами, которые вы установили в foo.json . Если бы вы хотели добавить local.json , эти свойства были бы окончательным переопределением.

Я полагаю, что по умолчанию предполагается, что ваш env равен «development», и я предполагаю, что ваш default.json пуст.

Комментарии:

1. Все настройки также возвращаются к файлу default.json. Проблема в том, что конфигурация успешно загружается при обычной разработке (например, когда узел index.js ) но не в debug с VS code. Я опубликовал в VS code, чтобы выяснить, связано ли это с IDE.