我正在开发一个与(v6)Reflux
捆绑在一起的 React & 应用程序,我遇到了 es6 模块依赖问题webpack
babel-loader
例如,我有一个使用回流.connect()
mixin 的组件:
import MyStore from '../stores/my-store';
const Component = React.createClass({
mixins: [Reflux.connect(MyStore)]
});
当我像这样在每个文件中单独导入所有模块时,一切都很好。
然后我尝试通过使用解构的导入语句来改进我的代码:
...在一个组件中:
//import One from '../js/one';
//import Two from '../js/two';
//import Three from '../js/three';
import { One, Two, Three } from '../js'; // Instead
...并在js/index.js
:
import One from './one';
import Two from './two';
import Three from './three';
export { One, Two, Three };
应用程序源代码文件使用上述技术更加简洁,因为我可以在import
一行中导入所有组件。
undefined
但是当我使用它时,当我使用它们时,一些依赖项最终会出现
如果我使用相同的更新示例...
//import MyStore from '../stores/my-store';
import { MyStore } from '../stores'; // Instead
const Component = React.createClass({
mixins: [Reflux.connect(MyStore)]
});
...MyStore
参数undefined
在Reflux.connect
方法中结束。
我试图在调试器中进行故障排除,但我并不真正了解__webpack_require__(xxx)
生成的包中的语句发生了什么。必须存在循环依赖,babel-loader
或者 webpack 要求无法确定何时有index.js
文件重新导出单个模块。
你知道有什么工具可以帮助我解决这个问题吗?我试过madge
了,但它不适用于 es6 模块,我找不到任何可以告诉我哪里有问题的东西