关于webpack.definePlugin

1,490 阅读1分钟

webpack.definePlugin插件用于在“编译阶段”设置全局变量。

1. 引入插件

在配置文件中设置:

module.exports = {
    plugins: [
      new webpack.DefinePlugin({         'process.env.ENV_DEF': JSON.stringify(process.env.ENV_DEF)      })    ]
}

2. 设置值

  • 1. 右侧值是字符串

会当作代码片段处理,类似eval或者Function函数中的代码片段

new webpack.DefinePlugin({         
   'process.env.A': "1"    
})

如果检测该值

typeof process.env.A   -> number

如果想得到字符串,需要处理

new webpack.DefinePlugin({         
   'process.env.A': "'1'"    
})

或者

new webpack.DefinePlugin({         
   'process.env.A': JSON.stringify(1)   
})
  • 2. 如果想要得到数字或者布尔值

直接赋值,不做处理

new webpack.DefinePlugin({         
   'process.env.A': 1

或者

new webpack.DefinePlugin({         
   'process.env.A': true   
})