javascript — ECONNREFUSED для запроса прокси с локального хоста на другой локальный хост

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

Ошибка возникает во время просмотра части видео «Angular Tutorial # 13», которая начинается около 1:42:00. Я выполняю все шаги в точности так, как показано в видео, но в терминале, в котором я запускаю «npm start», я вижу следующее сообщение об ошибке:
[HPM] Error occurred while trying to proxy request /api/file.php from localhost:4200 to http://localhost:1234 (ECONNREFUSED)
Мои сценарии package.json для «start»: «ng serve —proxy-config proxyconfig.json», а мой proxyconfig.json содержит:

{
"/api":{
"target": "http://localhost:1234",
"secure": false,
"changeOrigin": true
}
}

В CMD я перехожу к папке «intro2angular», которая является корнем «/test/api/file.php», и я запускаю
php -S localhost:1234 до запуска npm start в PowerShell в VisualStudioCode. Тогда я бегу npm start, Код успешно компилируется. В Chrome, если я пойду в http://localhost:1234/test/api/file.php затем файл отображается в браузере. тем не мение, если я пойду в http://localhost:4200 и нажмите на якорь, который выполняет код для запроса file.php тогда [HPM] Error occurred while trying to proxy request /api/file.php from localhost:4200 to http://localhost:1234 (ECONNREFUSED) ошибка отображается в терминале. в сеть вкладка Инструменты разработчика в Chrome, когда я проверяю заголовки для file.php Я вижу следующее:

Request URL: http://localhost:4200/api/file.php
Request Method: GET
Status Code: 504 Gateway Timeout
Remote Address: 127.0.0.1:4200
Referrer Policy: no-referrer-when-downgrade

Извините, что я многословно объяснил каждый шаг, который я выполнил, но, поскольку я видел несколько похожих сообщений на форуме, касающихся ошибки ECONNREFUSED, возникающей при попытке использовать прокси-сервер, я подумал, что включение каждой незначительной детали может быть необходимо для определения источника ошибка в этом случае. Если понадобятся какие-либо подробности / код, я буду рад их добавить.

Решения, которые я пробовал до сих пор

Обратите внимание, что это не полный список, я пробовал несколько других решений, но они, кажется, являются наиболее распространенными, которые работали для других. Кроме того, я не говорю, что я бы не стал давать этим решениям еще одну попытку, так как я открыт для любых предложений.

  1. указание случайных локальных портов как для углового приложения, так и для file.php
  2. с помощью setTimeout добавить задержку к .getData() вызов функции
  3. отключение брандмауэра
  4. включая опцию "pathRewrite": {"^/api" : ""} в proxyconfig.json

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

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]