Ошибка ReactJS: поддерживаются только абсолютные URL

Я пытаюсь ввести текущий URL-адрес для использования в моей команде выборки, но я получил сообщение об ошибке при попытке проанализировать URL-адрес через window.location. Похоже, что использование этого URL-адреса запрещено, но я не уверен, что есть другая альтернатива для достижения того, что я ищу. Я избегаю установки строки, чтобы можно было адаптировать настройку React к нескольким средам.

Ошибка:

Error: only absolute urls are supported

Строка, создающая ошибку:

console.info(protocol + '//' + hostname + ':' + port + '/api' + window.location.search);

Переменные:

var urlPath = window.location.pathname;
var hostname = window.location.hostname;
var protocol = window.location.protocol;
var port = window.location.port;

Я понимаю, что вы пытаетесь избежать установки строки, но именно поэтому у нас есть файлы конфигурации. Установить baseURL для конкретного развертывания не так уж и вопиюще.

lux 26.07.2018 02:42

У вас есть хороший ресурс для использования переменных env в ReactJS? Я не знаком с доступом к переменным env с помощью ReactJS. Похоже, это предпочтительный метод

cphill 26.07.2018 03:39

Взгляните сюда: github.com/mikechabot/react-boilerplate/blob/master/…. По сути, вам нужно различать переменные среды, которые вы передаете в npm в процессе сборки веб-пакета, и переменные среды, которые вы явно указываете на свои созданные активы с помощью webpack.DefinePlugin.

lux 26.07.2018 18:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
3
2 921
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Я предпочитаю dotenv. Затем все, что вам нужно сделать, это создать файл .env. Есть несколько способов загрузить его в ваше приложение.

Webpack (не указанный выше пакет npm, а webpack-dotenv-plugin)

import DotenvPlugin from 'webpack-dotenv-plugin';
  plugins: [
    new DotenvPlugin({
      sample: './.env.default',
      path: './.env',
    }),

Не веб-пакет

Как можно раньше:

require('dotenv').config()

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