Я разрабатываю Реагировать & Reflux
приложения, которое поставляется по webpack
с babel-loader
(v6), и я испытываю ES6 модулей зависимостей выпусковКак устранить неисправности модулей e6?
К примеру, у меня есть компонент, который использует флегма .connect()
подмешать:
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 };
App файлы исходного кода более сжатые, используя вышеприведенную технику, потому что я могу импортировать все компоненты в одну линию 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 require не могли определить, когда есть файлы index.js
, которые реэкспортируют отдельные модули.
Знаете ли вы, что инструмент поможет мне понять это? Я попытался madge
, но он не работает с ES6 модулями, и я не мог найти ничего, что бы мне сказать, где что не так
Вы вводите круговые зависимости с помощью этой техники? – Bergi
Я не знаю, я думаю, что в моем приложении уже есть круговые зависимости, но они не являются проблемой * per se *, это хорошо управляется загрузчиком es6. Это факт того, что вложенные все магазины, все компоненты и т. Д. В файлы index.js, которые реэкспортируют их, что вызывает проблему. Я не могу понять, почему и как, следовательно, мой вопрос. – Pandaiolo
Чтобы быть ясным: я не знаю, как легко анализировать/визуализировать зависимости моего модуля приложения. – Pandaiolo