Я новичок в response.js. Я реализовал один компонент, в котором я извлекаю данные с сервера и использую их как
CallEnterprise:function(TenantId){
fetchData('http://xxx.xxx.xx.xx:8090/Enterprises?TenantId='+TenantId+' &format=json').then(function(enterprises)
{
EnterprisePerspectiveActions.getEnterprise(enterprises);
}).catch(function()
{
alert("There was some issue in API Call please contact Admin");
//ComponentAppDispatcher.handleViewAction({
// actionType: MetaItemConstants.RECEIVE_ERROR,
// error: 'There was a problem getting the enterprises'
//});
});
},
Я хочу сохранить URL-адрес в файле конфигурации, поэтому, когда я развернул его на сервере тестирования или на производстве, мне нужно просто изменить URL-адрес в файле конфигурации не в файле js, но я не знаю, как использовать файл конфигурации в response.js
Может ли кто-нибудь помочь мне, как я могу этого добиться?
javascript
reactjs
configuration
webpack
flux
Дхавал Патель
источник
источник
Ответы:
С помощью webpack вы можете поместить конфигурацию, специфичную для env, в
externals
поле вwebpack.config.js
Если вы хотите сохранить конфигурации в отдельном файле JSON, это тоже возможно, вы можете потребовать этот файл и назначить его
Config
:Затем в своих модулях вы можете использовать конфигурацию:
Для React:
Не уверен, что он подходит для вашего варианта использования, но у нас он работает очень хорошо.
источник
externals
ожидается, что код будет оценен, вам необходимо преобразовать JSON в строку.Если вы использовали приложение Create React, вы можете установить переменную среды с помощью файла .env. Документация здесь:
https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables
Обычно делайте что-то подобное в файле .env в корне проекта.
Вы можете получить к нему доступ из своего компонента с помощью
источник
REACT_APP_
REACT_APP_MYSETTING=value
его, а затем сослался на него, какprocess.env.REACT_APP_MYSETTING
в моем коде JSX, и он сработал. Спасибо!Вы можете использовать пакет dotenv независимо от того, какую установку вы используете. Это позволяет вам создать .env в корне вашего проекта и указать ваши ключи так:
В файле ввода вашего приложения просто вызовите dotenv (); перед доступом к таким клавишам
источник
REACT_APP_
Если у вас есть файл .properties или файл .ini
На самом деле, если у вас есть файл с такими парами значений ключа:
Вы можете импортировать это в webpack с помощью модуля npm под названием properties-reader
Я нашел это действительно полезным, так как я интегрирую реакцию со средой Java Spring, где уже есть файл application.properties. Это помогает мне хранить все конфигурации в одном месте.
"properties-reader": "0.0.16"
const PropertiesReader = require('properties-reader');
const appProperties = PropertiesReader('Path/to/your/properties.file')._properties;
externals: { 'Config': JSON.stringify(appProperties) }
var Config = require('Config') fetchData(Config.serverUrl + '/Enterprises/...')
источник