Accepted answer

With webpack you can put env-specific config into the externals field in webpack.config.js

externals: {
  'Config': JSON.stringify(process.env.NODE_ENV === 'production' ? {
    serverUrl: ""
  } : {
    serverUrl: "http://localhost:8090"

If you want to store the configs in a separate JSON file, that's possible too, you can require that file and assign to Config:

externals: {
  'Config': JSON.stringify(process.env.NODE_ENV === 'production' ? require('./') : require('./'))

Then in your modules, you can use the config:

var Config = require('Config')
fetchData(Config.serverUrl + '/Enterprises/...')

For React:

import Config from 'Config';
axios.get(this.app_url, {
        'headers': Config.headers

Not sure if it covers your use case but it's been working pretty well for us.


In case you have a .properties file or a .ini file

Actually in case if you have any file that has key value pairs like this:


You can import that into webpack by a npm module called properties-reader

I found this really helpful since I'm integrating react with Java Spring framework where there is already an file. This helps me to keep all config together in one place.

  1. Import that from dependencies section in package.json

"properties-reader": "0.0.16"

  1. Import this module into webpack.config.js on top

const PropertiesReader = require('properties-reader');

  1. Read the properties file

const appProperties = PropertiesReader('Path/to/your/properties.file')._properties;

  1. Import this constant as config

externals: { 'Config': JSON.stringify(appProperties) }

  1. Use it as the same way as mentioned in the accepted answer

var Config = require('Config') fetchData(Config.serverUrl + '/Enterprises/...')


You can use the dotenv package no matter what setup you use. It allows you to create a .env in your project root and specify your keys like so


In your applications entry file your just call dotenv(); before accessing the keys like so



If you used Create React App, you can set an environment variable using a .env file. The documentation is here:

Basically do something like this in the .env file at the project root.


Note that the variable name must start with REACT_APP_

You can access it from your component with


Related Query

More Query from same tag