У меня 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
.
Если я использую инструмент Angular CLI для создания стандартного проекта Angular и использую ng serve
, он сообщает мне, что он прослушивает localhost:4200
, что я и пытаюсь сделать, и это действительно работает.
Какая разница? Как мне заставить мое приложение работать на локальном хосте?
Я чувствую, что у меня это работало в последний раз, когда я пробовал это пару месяцев назад, и теперь это просто не работает, и я не могу сказать, почему. Я пробовал использовать другие порты и перезагружать компьютер, и ничего не меняется.
Изменить: я видел демонстрацию Google о том, что переадресация портов должна работать автоматически здесь: https://youtu.be/pRlh8LX4kQI?t=1160 - но мне это не кажется.
Изменить 2: если я найду IP-адрес своего контейнера с ip addr show | grep inet
(для меня это было 100.115.92.199) и попробую через порт 8080, он работает. Кроме того, я нашел человека на Reddit, сообщившего о той же проблеме (ссылка ). Поэтому я думаю, что автоматическая переадресация портов нарушена.
console.log('received request')
в своем обработчике дляapp.get('/'...)
(прямо над или подres.send()
, чтобы видеть, когда кто-то пытается подключиться к вашей странице. - person Jeremi G   schedule 09.01.2020index.js
, поэтому я нахожусь в каталоге и запускаюnode .
. Мое сообщениеListening...
появляется, как и ожидалось. Я попытался добавить журнал, когда запрос получен, и он никогда не срабатывает. - person Kenmore   schedule 09.01.2020