Search code examples
javascriptnode.jswebpack-dev-serverwebpack-2

How to set multiple env variables for webpack?


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".


Solution

  • 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),
      }
    })