How to set multiple env variables for webpack?

dtalaba picture dtalaba · Feb 12, 2018 · Viewed 6.9k times · Source

Does anyone know how to provide multiple env vars to webpack? I was trying to run the following script without success.

"cross-env NODE_ENV=production DTM_ENV=staging webpack --config internals/webpack.prod.babel.js --color -p --progress"

On console.log(process.env) it only displays NODE_ENV: "production".

Answer

dtalaba picture dtalaba · Feb 13, 2018

Webpack doesn't have access to env variables after the build is done, so you need to expose those variables by adding this into Webpack config into plugins:

new webpack.DefinePlugin({
  'process.env': {
    NODE_ENV: JSON.stringify(process.env.NODE_ENV),
    DTM_ENV: JSON.stringify(process.env.DTM_ENV),
  }
})