Подтвердить что ты не робот

Mongoose не может подключиться без Интернета

У меня есть сервер MongoDB, работающий на localhost:27017, и хотя я обычно могу запустить мое приложение Node.js, когда я отключусь от Интернета, Mongoose выдает ошибку

Error: failed to connect to [localhost:27017]

Обратите внимание, что я все еще могу подключиться к серверу MongoDB от клиента оболочки Mongo. Кроме того, если я сначала запускаю свое приложение, а затем теряю подключение к Интернету, мое приложение может получить доступ к базе данных в автономном режиме. Так почему он не может запускаться без Интернета?

EDIT: вот полная ошибка

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: failed to connect to [localhost:27017]
    at null.<anonymous> (<My App>\node_modules\mongoose\
node_modules\mongodb\lib\mongodb\connection\server.js:555:74)
    at emit (events.js:118:17)
    at null.<anonymous> (<My App>\node_modules\mongoose\
node_modules\mongodb\lib\mongodb\connection\connection_pool.js:156:15)
    at emit (events.js:110:17)
    at Socket.<anonymous> (<My App>\node_modules\mongoos
e\node_modules\mongodb\lib\mongodb\connection\connection.js:534:10)
    at Socket.emit (events.js:107:17)
    at net.js:923:16
    at process._tickCallback (node.js:355:11)
[nodemon] app crashed - waiting for file changes before starting...

Изменить: текст

4b9b3361

Ответ 1

Используйте 127.0.0.1 вместо localhost. Отключив ваш интерфейс wifi, ОС больше не может разрешать localhost.

Ответ 2

Рассмотрим node-offline-localhost.

Добавьте до следующего кода:

require('node-offline-localhost').always();

И он просто работает (надеюсь), по крайней мере, до RFC 3493 получает фиксированной.

Полное раскрытие: я создал этот пакет для оптимизации https в моей среде dev в автономном режиме.