小编gol*_*est的帖子

使用索引文件时Webpack ES6模块循环依赖

我有一个大项目,我现在尝试重构ES6模块.

为了进一步简化开发,我想引入索引文件,它只导出目录中的所有模块:

index.js:

export { default as ModuleA } from './moduleA'
export { default as ModuleB } from './moduleB'
export { default as ModuleC } from './moduleC'
Run Code Online (Sandbox Code Playgroud)

moduleA.js:

import { ModuleB } from './index'
Run Code Online (Sandbox Code Playgroud)

moduleB.js:

import { ModuleC } from './index'

ModuleC.doSomething()
Run Code Online (Sandbox Code Playgroud)

moduleC.js:

export default {
  doSomething: () => {}
}
Run Code Online (Sandbox Code Playgroud)

起点是ModuleA.

问题是,in ModuleB ModuleC未定义,因此doSomething无法执行.
我怀疑循环依赖的一些问题,因为moduleB尝试再次访问索引,moduleB之前解析moduleC.

是不是可以这样做,还是有另一种解决方案?

javascript circular-dependency webpack es6-modules

7
推荐指数
1
解决办法
2117
查看次数