Не удается получить доступ к ‘API_URL’ до инициализации

#reactjs #rest #http

#реагирует на #остальное #http

Вопрос:

У меня есть HTTP-класс для методов REST:

 import { getQueryString } from './utils'; import { API_URL } from './api'; import { defaultHeaders } from './api/consts';    export default class Http {  service = {};   constructor(apiUrl) {  this.apiUrl = apiUrl;  const service = axios.create({ baseURL: this.apiUrl });  .....  this.service = service;  });  }      get(path, query, headers = {}) {  const fullPath = query ? `${path}?${getQueryString(query)}` : path;  return this.service  .get(fullPath, headers)  .then((response) =gt; response)  .catch((error) =gt; Promise.reject(error));  }    post(path, payload) {  return this.service  .request({  method: 'POST',  url: path,  withCredentials: true,  data: payload ? JSON.stringify(payload) : {},  })  .then((response) =gt; response)  .catch((error) =gt; Promise.reject(error));  }   ..... }  

API_URL находится в .env файле:

 export const API_URL = `${process.env.REACT_APP_API_URL}`;  

Идея состоит в том, чтобы использовать его с различными URL-адресами API. Например:

 const API_URL = 'http://127.0.0.1:8081' export const http1 = new Http(API_URL);  const API_URL2 = 'http://127.0.0.1:8082' export const http2 = new Http(API_URL2);  

И использование:

http1.get('someurl.com') и т.д.

Но я получаю эту ошибку:

 ReferenceError: Cannot access 'API_URL' before initialization  

Что я здесь делаю не так?

Комментарии:

1. import { API_URL } from './api'; Каково содержимое этого файла

2. это в файле .env: экспорт const API_URL = ${process.env.REACT_APP_API_URL} ;

3. Попробуй переодеться APP_URL APP_URL1 . Возможно, конфликт из-за одного и того же объявления константы.