#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.