Я пытаюсь ввести текущий 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;
У вас есть хороший ресурс для использования переменных env в ReactJS? Я не знаком с доступом к переменным env с помощью ReactJS. Похоже, это предпочтительный метод
Взгляните сюда: github.com/mikechabot/react-boilerplate/blob/master/…. По сути, вам нужно различать переменные среды, которые вы передаете в npm в процессе сборки веб-пакета, и переменные среды, которые вы явно указываете на свои созданные активы с помощью webpack.DefinePlugin.





Я предпочитаю dotenv. Затем все, что вам нужно сделать, это создать файл .env. Есть несколько способов загрузить его в ваше приложение.
Webpack (не указанный выше пакет npm, а webpack-dotenv-plugin)
import DotenvPlugin from 'webpack-dotenv-plugin';
plugins: [
new DotenvPlugin({
sample: './.env.default',
path: './.env',
}),
Не веб-пакет
Как можно раньше:
require('dotenv').config()
Я понимаю, что вы пытаетесь избежать установки строки, но именно поэтому у нас есть файлы конфигурации. Установить baseURL для конкретного развертывания не так уж и вопиюще.