我開發一個陣營& Reflux
應用程式,其由webpack
與babel-loader
(V6)捆綁,並且我遇到ES6模塊的依賴關係的問題如何解決es6模塊依賴關係?
例如,我有使用迴流.connect()
混入的成分:
import MyStore from '../stores/my-store';
const Component = React.createClass({
mixins: [Reflux.connect(MyStore)]
});
當我像這樣在每個文件中分別導入所有模塊時,一切都很好。
然後我嘗試用解構import語句來提高我的代碼:
...在一個組件:
//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
行中的所有組件導入。
但是,當我用這個,一些依賴最終beeing undefined
當我使用它們
如果我使用相同的更新例子...
//import MyStore from '../stores/my-store';
import { MyStore } from '../stores'; // Instead
const Component = React.createClass({
mixins: [Reflux.connect(MyStore)]
});
... MyStore
參數結束undefined
in Reflux.connect
方法。
我試圖在調試器中排除故障,但我並不真正意識到生成的包中的__webpack_require__(xxx)
語句會發生什麼情況。必須存在循環依賴關係,babel-loader
或webpack要求在重新導出各個模塊時存在index.js
文件。
你知道有什麼工具可以幫我弄清楚嗎?我試圖madge
但它不與ES6模塊的工作,並在任何錯誤
您是否在使用此技術引入循環依賴關係? – Bergi
我不知道,我猜應用程序中已經存在循環依賴關係,但它們本身並不是問題*,它很好地由es6裝載程序管理。這是將所有商店,所有組件等捆綁在重新導出它們的index.js文件中導致問題的事實。我無法看到爲什麼或如何,因此我的問題。 – Pandaiolo
要清楚:我不知道如何輕鬆分析/可視化我的應用程序模塊依賴關係:) – Pandaiolo