Je suis nouveau sur react.js J'ai implémenté un composant dans lequel je récupère les données du serveur et je l'utilise comme,
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'
//});
});
},
Je veux stocker l'URL dans le fichier de configuration, donc lorsque j'ai déployé ceci sur le serveur de test ou sur la production, je dois simplement changer l'URL du fichier de configuration pas dans le fichier js mais je ne sais pas comment utiliser le fichier de configuration dans react.js
Quelqu'un peut-il s'il vous plaît me guider comment puis-je y parvenir?
javascript
reactjs
configuration
webpack
flux
Dhaval Patel
la source
la source
Réponses:
Avec webpack, vous pouvez mettre une configuration spécifique à l'environnement dans le
externals
champwebpack.config.js
Si vous souhaitez stocker les configurations dans un fichier JSON séparé, c'est également possible, vous pouvez exiger ce fichier et l'assigner à
Config
:Ensuite, dans vos modules, vous pouvez utiliser la config:
Pour React:
Je ne sais pas si cela couvre votre cas d'utilisation, mais cela fonctionne plutôt bien pour nous.
la source
externals
attend un code à évaluer, vous devez stringify le JSON.Si vous avez utilisé Create React App, vous pouvez définir une variable d'environnement à l'aide d'un fichier .env. La documentation est ici:
https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables
En gros, faites quelque chose comme ça dans le fichier .env à la racine du projet.
Vous pouvez y accéder depuis votre composant avec
la source
REACT_APP_
REACT_APP_MYSETTING=value
, puis de le désigner commeprocess.env.REACT_APP_MYSETTING
dans mon code JSX, et cela a fonctionné. Merci!Vous pouvez utiliser le package dotenv quelle que soit la configuration que vous utilisez. Il vous permet de créer un .env dans la racine de votre projet et de spécifier vos clés comme ceci
Dans le fichier d'entrée de votre application, il vous suffit d'appeler dotenv (); avant d'accéder aux touches comme ça
la source
REACT_APP_
Si vous avez un fichier .properties ou un fichier .ini
En fait, si vous avez un fichier qui a des paires clé-valeur comme celle-ci:
Vous pouvez l'importer dans webpack par un module npm appelé properties-reader
J'ai trouvé cela très utile car j'intègre React avec le framework Java Spring où il existe déjà un fichier application.properties. Cela m'aide à garder toutes les configurations ensemble au même endroit.
"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/...')
la source