我创建了一个由多个ES2015模块组成的组件库。每个都是相对独立的,但是有一个外部构建系统来帮助促进集成测试和部署。 其中一个模块具有核心模块和一组可选子模块。该代码结构看起来松散,如:webpack babel loader两次导入相同的模块
root
.\build\...
.\src
.\bundle1
.\build\...
.\src
.\core.js
.\submodules\
.\a.js
.\b.js
由于历史的原因,有几个子模块取决于核心模块上,就目前而言,必须用它来部署,所以最终被一个有点循环依赖。如前所述,每个模块都是相对独立的,因此它有自己的构建系统。当使用本地构建时,一切都显示正常。当“主”构建系统被使用时,问题就会变得明显。当它启动相同的构建时,核心块最终会生成两次。内部子模块将自己附加到第一个实例,但第二个实例实际上被导出,使得整个卡片房子变得毫无用处。 这似乎不是一个webpack的问题,因为当我创建演示应用时,我没有使用babel,并且没有出现错误。
道歉了那么久才切入正题...... 我的问题是,有什么明显的是我丢失可能会造成这一点,或者是有错误的地方通天/的WebPack,巴贝尔-loader?
由于这有点复杂,我创建了this reference project而不是在这里内联源码。如上所述,/ develop不显示这个问题,因为它不使用babel。 add-babel分支的确如此。
链接指示当涉及动态导入时使用上下文。 –
是的。在这种情况下,我的问题是我不知道'context'是一个配置选项。我责备WebPack的godawful文件:第 –