使用webpack定义全局变量

是否可以使用webpack定义全局变量以产生如下所示的结果:

var myvar = {};

我看到的所有示例都使用外部文件 require("imports?$=jquery!./file.js")

Pro斯丁2020/03/23 09:35:27

使用DefinePlugin

DefinePlugin允许您创建可以在编译时配置的全局常量。

new webpack.DefinePlugin(definitions)

例:

plugins: [
  new webpack.DefinePlugin({
    PRODUCTION: JSON.stringify(true)
  })
  //...
]

用法:

console.log(`Environment is in production: ${PRODUCTION}`);
乐米亚2020/03/23 09:35:27

我通过将全局变量设置为与它们最相关的类的静态属性来解决了这个问题。在ES5中,它看起来像这样:

var Foo = function(){...};
Foo.globalVar = {};
番长猴子2020/03/23 09:35:27

您可以使用define window.myvar = {}当您想使用它时,可以使用window.myvar = 1