I am not too good with front-end technologies... So if I have wrong expectations - please correct me or my code. I have created a repository with code that allows to reproduce issue. Here is the link: https://github.com/ffatheranderson/webpack-issue-reproduction
as described in readme.md of the project:
========================================
npm run watch command - the generated
result/bundle.js file to have such lines:...
var _environment = 'development';
var _ANOTHER_VARIABLE = "another variable value";
...
npm run watch command - the generated
result/bundle.js file contains such lines:...
var _environment = undefined;
var _ANOTHER_VARIABLE = "another variable value";
...
...
plugins: [
new webpack.DefinePlugin({
ENVIRONMENT: JSON.stringify(process.env.NODE_ENV),
ANOTHER_VARIABLE: JSON.stringify("another variable value"),
})
]
...
in webpack.config.js file.
As you can see variable _environment is not initialized with development value as it is promised
here: https://webpack.js.org/configuration/mode/
========================================
_environment is undefined because the environment variable NODE_ENV is undefined. You can solve this in one of three:
npm run watch --node-env=development: https://webpack.js.org/api/cli/#node-envNODE_ENV in your current shell session:
$ export NODE_ENV=production; npm run watch
--env argument, a file on disk, hard-coding it, etc.)