如何使用 webpack 在块之间共享单例实例?

Jul*_*sme 6 singleton instance chunks webpack

我在使用 Webpack 4 时遇到问题,尝试使用异步块预加载一些数据,然后在加载数据时,将使用 webpack 计算的其他块附加到 dom。

两个块都使用同一个实例(单例),一次在加载数据时作为容器,另一次则读取这些加载的数据。

我希望它尽可能清楚。它与 Webpack 3 一起工作,可能是我们 6 个多月以来的运气,但我们今天迁移到了 webpack 4,症状非常明显:

  • 在第一个块中,在加载数据时,会创建并填充实例。当尝试在这种情况下使用数据时,似乎没问题。
  • 在第二个块中,加载后,实例不存在或未填充。

Ed_*_*fou 3

我遇到了同样的问题并通过添加解决了它:

optimization: {
  runtimeChunk: {
    name: 'commons' // <-- THIS
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

到 webpack 配置。

github问题