Как я могу получить доступ к своему приложению реакции с другого компьютера в локальной сети? - PullRequest
0 голосов
/ 02 июля 2019

Фон

Я размещаю веб-сайт приложения реакции на моем rasperrypi, и до сих пор я смог получить доступ к веб-сайту приложения, когда использовал create-react-app: я мог получить доступ к приложению как с компьютера в сети, так и с компьютера. как малиновый пи. На raspberrypi я использовал localhost: 3000 для доступа к веб-сайту, а с компьютера я бы получал к нему доступ с 192.x.x.x: 3000, и он работал бы нормально. Однако, поскольку я понял, что не могу запустить некоторые собственные модули Raspberry при использовании create-react-app, я решил установить и настроить react вручную вместе с babel и webpack (в надежде, что это сработает).

Проблема

Используя ручную настройку, я могу видеть веб-приложение во время доступа к нему с локального хоста на raspberrypi, но не могу получить к нему доступ на своем компьютере (который находится в той же локальной сети, что и raspberry); Я пытался переключить порт на 3000, но результат был тот же, не могу получить к нему доступ с компьютера ... Кто-нибудь знает что-нибудь, что может помочь?

Спасибо за внимание!

1 Ответ

1 голос
/ 02 июля 2019

Поскольку вы используете Webpack-Dev-Server, вы можете использовать либо опцию allowedHosts, либо задать опцию host для 0.0.0.0. Оба следующих примера взяты из документов Webpack .

Разрешенные хосты

module.exports = {
  //...
  devServer: {
    allowedHosts: [
      'host.com',
      'subdomain.host.com',
      'subdomain2.host.com',
      'host2.com'
    ]
  }
};

Определение хоста

module.exports = {
  //...
  devServer: {
    host: '0.0.0.0'
  }
};

Последняя конфигурация также может быть достигнута с помощью CLI:

webpack-dev-server --host 0.0.0.0

Режим производства

В производственном режиме и, например, express, вы можете использовать одну из следующих реализаций. Вы можете прочитать об этом подробнее на SuperUser .

listen(3000, '192.x.x.x', function() {}
listen(3000, '0.0.0.0', function() {}

Причина, по которой вы не можете получить к ней доступ, заключается в том, что сервер связывает адрес обратной связи (127.0.0.1).

...