有两种基本方法可以实现此目的。
定义插件
new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')}),请注意,这只会按原样替换匹配项。这就是字符串具有其格式的原因。您可能有一个更复杂的结构,例如那里的一个对象,但您明白了。
环境插件
new webpack.EnvironmentPlugin(['NODE_ENV'])
EnvironmentPlugin在
DefinePlugin内部使用并映射环境值以通过它进行编码。Terser语法。
别名
或者,您可以通过别名模块使用配置。从消费者方面来看,它看起来像这样:
var config = require('config');配置本身可能如下所示:
resolve: { alias: { config: path.join(__dirname, 'config', process.env.NODE_ENV) }}可以说
process.env.NODE_ENV是
development。它将映射到
./config/development.js那时。它映射到的模块可以这样导出配置:
module.exports = { testing: 'something', ...};


