webpack babel loader两次导入相同的模块

时间:2016-07-07 01:39:39

标签: webpack babel

我正在创建一个由多个ES2015模块组成的组件库。每个都是相对独立的,但有一个外部构建系统,以帮助促进集成测试和部署。 其中一个模块有一个核心模块和一组可选的子模块。代码结构看起来很像:

root
  .\build\...
  .\src
    .\bundle1
      .\build\...
      .\src
        .\core.js
        .\submodules\
          .\a.js
          .\b.js

由于历史原因,一些子模块依赖于核心模块,并且目前必须与它一起部署,因此最终会产生一些循环依赖。如前所述,每个模块都是相对独立的,因此它有自己的构建系统。使用本地构建时,一切都很好。当" master"构建系统是ued。当它启动相同的构建时,核心块最终会生成两次。内部子模块将自己附加到第一个实例,但第二个实例实际上是导出的,这使得整个卡片系列都无用。 这似乎不是一个webpack问题,因为当我创建演示应用程序时,我没有使用babel,并且没有出现错误。

道歉需要这么长时间才能达到目的...... 我的问题是,有什么明显的遗漏,我可能会导致这种情况,或者某处有错误吗?在babel / webpack-babel-loader中?

由于它有点复杂,我创建了this reference project而不是在这里内联源代码。如上所述,/ develop没有表现出这个问题,因为它没有使用babel。 add-babel分支确实如此。

1 个答案:

答案 0 :(得分:0)

事实证明,是的,我确实错过了一些可能应该是显而易见的事情。由于bundle1的配置从几个级别打开,因此显然需要context。 TBH我不确定我是否完全理解这一点,因为它在使用commonJS时有效,但在编译时却没有...