Что такое Angular proxy и как его настроить?
Angular proxy (или прокси Angular) - это функциональность, предоставляемая Angular CLI, которая позволяет настроить прокси-сервер для перенаправления HTTP-запросов от разработческого сервера Angular к удаленному серверу. Прокси-сервер используется для обхода проблемы CORS (Cross-Origin Resource Sharing) и позволяет разрабатывать и тестировать приложения Angular, взаимодействующие с внешним API, на локальном компьютере без необходимости настройки CORS на сервере.
Вот шаги, которые нужно выполнить для настройки Angular proxy:
Шаг 1: Создание файла proxy.conf.json
- В корневой директории проекта Angular создайте файл с именем
proxy.conf.json
(или любым другим именем, которое вам нравится).
Шаг 2: Настройка прокси-конфигурации
- Откройте файл
proxy.conf.json
и определите конфигурацию прокси-сервера. Ниже приведен пример:
{
"/api/*": {
"target": "http://localhost:3000",
"secure": false,
"logLevel": "debug"
}
}
- В этом примере мы настраиваем прокси-сервер для перенаправления запросов, начинающихся с
/api/
, наhttp://localhost:3000
. Параметр"secure": false
используется для отключения проверки SSL-сертификата (если удаленный сервер использует HTTPS). Параметр"logLevel": "debug"
позволяет выводить отладочную информацию о запросах в консоль.
Шаг 3: Обновление команды запуска
- В файле
package.json
найдите раздел"scripts"
и обновите команду запускаstart
, добавив--proxy-config
с указанием пути к файлу прокси-конфигурации. Пример:
"scripts": {
"start": "ng serve --proxy-config proxy.conf.json"
}
Шаг 4: Запуск приложения с прокси-сервером
- Теперь вы можете запустить ваше Angular приложение с прокси-сервером, используя команду
npm start
илиng serve
.
После настройки прокси-сервера Angular будет перенаправлять все HTTP-запросы, соответствующие конфигурации прокси, к указанному удаленному серверу. Это позволяет избежать ошибок CORS и работать с удаленным API на локальной машине во время разработки.
Обратите внимание, что прокси-сервер Angular предназначен только для разработки и не должен использоваться в конечной среде. При развертывании приложения на сервере требуется настроить CORS соответствующим образом.