运行webpack后'global'未定义

Mar*_*tin 4 webpack

我有一个非常简单的包装器模块,它围绕运行脚本的环境设置的全局对象.包装器模块简单地执行:

module.exports = global.foobar;
Run Code Online (Sandbox Code Playgroud)

以前当我使用browserify时,这很好用.在浏览器中,global是一样的window.

但是,我正在切换到webpack并在运行webpack后意义global已经改变.在浏览器中,它不再是别名window,而是它undefined,而且我得到了cannot read property foobar of undefined.

现在,在我的包装器模块的情况下,我可以通过其他方式修复它,但我有其他依赖项,并进一步buffer使用包.该软件包也使用global(参见此处),并在运行webpack后崩溃:

Uncaught TypeError: Cannot read property 'TYPED_ARRAY_SUPPORT' of undefined
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以让webpack global以与浏览器化相同的方式处理,并且global是别名window

Mar*_*tin 7

我终于找到了问题.我有两个webpack构建:第一个构建我的库,第二个构建演示.问题是两个配置都有:

{
  node: {
    global: true
  }
}
Run Code Online (Sandbox Code Playgroud)

如果第一个(构建lib的那个)具有global: false,并且第二个具有,则它工作正常global: true.