Crostini - Node-сервер не работает на локальном хосте - PullRequest
4 голосов
/ 09 января 2020

У меня есть Pixelbook на Chrome 79. В моем терминале (Crostini) я запускаю простое приложение Express:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello!');
});

const PORT = 8080;

app.listen(PORT, () => console.log(`Listening on port ${PORT}...`));

И пробую его в браузере на localhost:8080, и я получите ошибку localhost refused to connect.

Если я использую инструмент CLI Angular для создания шаблонного проекта Angular и использую ng serve, он говорит мне, что слушает на localhost:4200 - что я пытаюсь и это работает .

Какая разница? Как мне заставить мое приложение работать на localhost?

Мне кажется, у меня это работало в прошлый раз, когда я пробовал пару месяцев go, и теперь оно просто не работает, и я не могу понять, почему , Я пытался использовать другие порты и перезагружал компьютер, но ничего не изменилось.

Редактировать: я видел демонстрацию Google, что перенаправление портов должно работать здесь автоматически: https://youtu.be/pRlh8LX4kQI?t=1160 - но не похоже, что это для меня.

Edit 2: если я найду IP моего контейнера с ip addr show | grep inet (для меня это был 100.115.92.199) и попробую, чтобы на порту 8080 он работал. Кроме того, я обнаружил, что кто-то в Reddit сообщает об этой проблеме ( ссылка ). Поэтому я думаю, что автоматическая c переадресация портов не работает.

Ответы [ 2 ]

1 голос
/ 19 января 2020

У меня также есть Pixelbook на Chrome 79. Ваш код будет работать на Firefox. Чтобы он работал в браузере Chrome, необходимо передать параметр host в app.listen () .

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello!');
});

const PORT = 8080;
const HOST = 'localhost';

app.listen(PORT, HOST, () => console.log(`Listening on port ${PORT}...`));
1 голос
/ 10 января 2020

Интеграция сетевого интерфейса улучшена с Chrome 80: попробуйте обновить до бета-версии

  1. Go до настроек
  2. В нижней части левой панели выберите О Chrome OS.
  3. Выберите «Подробная информация о сборке» или «Дополнительные сведения»
  4. Рядом с «Каналом» выберите «Изменить канал».
  5. Выберите «Бета»
...