使用webpack定义全局变量

JavaScript Webpack

猪猪

2020-03-23

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

var myvar = {};

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

第2602篇《使用webpack定义全局变量》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
Pro斯丁 2020.03.23

使用DefinePlugin

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

new webpack.DefinePlugin(definitions)

例:

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

用法:

console.log(`Environment is in production: ${PRODUCTION}`);
乐米亚 2020.03.23

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

var Foo = function(){...};
Foo.globalVar = {};
番长猴子 2020.03.23

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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android