Для начала я новичок в угловых и следую за учебное видео шаг за шагом.
Я застрял в этой проблеме почти 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, возникающей при попытке использовать прокси-сервер, я подумал, что включение каждой незначительной детали может быть необходимо для определения источника ошибка в этом случае. Если понадобятся какие-либо подробности / код, я буду рад их добавить.
Обратите внимание, что это не полный список, я пробовал несколько других решений, но они, кажется, являются наиболее распространенными, которые работали для других. Кроме того, я не говорю, что я бы не стал давать этим решениям еще одну попытку, так как я открыт для любых предложений.
setTimeout
добавить задержку к .getData()
вызов функции"pathRewrite": {"^/api" : ""}
в proxyconfig.jsonЯ ценю любую помощь / предложения / обсуждения по этой проблеме, так как у меня ничего не получилось, и я не могу продолжать изучение углового руководства до тех пор, пока эта проблема не будет решена. Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …