【发布时间】:2016-07-08 04:19:08
【问题描述】:
我正在创建一个包含多个 ES2015 模块的组件库。每个都是相对独立的,但是有一个外部构建系统来帮助促进集成测试和部署。 其中一个模块有一个核心模块和一组可选的子模块。代码结构大致如下:
root
.\build\...
.\src
.\bundle1
.\build\...
.\src
.\core.js
.\submodules\
.\a.js
.\b.js
由于历史原因,一些子模块依赖于核心模块,目前必须与它一起部署,因此最终会产生一些循环依赖。如前所述,每个模块都是相对独立的,因此它有自己的构建系统。当使用本地构建时,一切看起来都很好。当使用“主”构建系统时,问题变得很明显。当它启动相同的构建时,核心块最终会生成两次。内部子模块将自己附加到第一个实例,但第二个实例实际上是导出的,使得整个纸牌屋变得毫无用处。 这似乎不是 webpack 问题,因为当我创建演示应用程序时我没有使用 babel,并且错误没有出现。
很抱歉花了这么长时间才明白这一点...... 我的问题是,有什么明显的我遗漏的东西可能导致这种情况,或者 babel 的某个地方有错误吗/ webpack-babel-loader?
由于有点复杂,我创建了this reference project,而不是在此处内联源代码。如上所述,/develop 没有出现这个问题,因为它没有使用 babel。 add-babel 分支可以。
【问题讨论】: