Как использовать proxyAgent только в среде разработки

В настоящее время я вынужден прокомментировать или раскомментировать одну строку в моем объекте запроса, в зависимости от того, работает ли мое приложение в настоящее время на моей локальной системе или на продуктивном сервере.

Я уже пытался решить эту проблему с помощью переменной типа bool, но это не сработало. Вот мой код

const dev = true;
const devProxy = dev
  ? {agent: new HttpsProxyAgent("http://proxy:80")}
  : {};

 myFunc: async access_token => {
    const response = await fetch(
      URL,
      {
        // agent: new HttpsProxyAgent("http://proxy:89´0"),
        devProxy,
        method: "GET",
        headers: {
          Accept: "application/json",
          "Content-Type": "application/json",
          Authorization: `Bearer ${access_token.access_token}`
        }
      }
    );
    if (response.ok) {
      return response.json();
    }
    throw new Error(
      "bla" +
        response.status +
        " StatusText: " +
        response.statusText
    );
  },

Ошибка говорит о том, что прокси не использовался.

Как мне правильно это сделать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
79
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать несколько вещей, можете изолировать объект от другой переменной и установить агент. ИЛИ вы также можете Object.assign клавишу agent. Проще всего было бы назначить переменную:

const dev = true;
const options = {
  method: "GET",
  headers: {
    Accept: "application/json",
    "Content-Type": "application/json",
    Authorization: `Bearer ${access_token.access_token}`
  }
}
if (dev) options.agent = new HttpsProxyAgent("http://proxy:80");

myFunc: async access_token => {
  const response = await fetch(
    URL,
    options
  );
  if (response.ok) {
    return response.json();
  }
  throw new Error(
    "bla" +
    response.status +
    " StatusText: " +
    response.statusText
  );
},

Другие вопросы по теме