webpack DefinePlugin process.env.NODE_ENV 未定义

webpack DefinePlugin process.env.NODE_ENV is undefined

我不太擅长前端技术...所以如果我有错误的期望 - 请纠正我或我的代码。我创建了一个存储库,其中包含允许重现问题的代码。这是 link: https://github.com/ffatheranderson/webpack-issue-reproduction

如项目readme.md所述:

========================================

...
var _environment = 'development';
var _ANOTHER_VARIABLE = "another variable value";
...
...
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"),
        })
    ]
...

webpack.config.js 文件中。

如您所见,变量 _environment 未按承诺使用 development 值进行初始化 这里:https://webpack.js.org/configuration/mode/

========================================

_environmentundefined 因为环境变量 NODE_ENV 未定义。您可以通过以下三种方式之一解决此问题:

  1. 正在调用 npm run watch --node-env=developmenthttps://webpack.js.org/api/cli/#node-env
  2. 在当前 shell 会话中导出 NODE_ENV
    $ export NODE_ENV=production; npm run watch
    
  3. 更新您的配置以指定来自其他来源的值(例如 --env 参数、磁盘上的文件、对其进行硬编码等)