0
我正在爲一個項目使用webpack,ES6和Babel。模塊有一個require語句,像這樣:爲什麼切換到需要導入修復運行時錯誤?
var ajaxGetJSON = require("../utils/ajaxGetJSON");
的捆綁編譯罰款,但扔了運行時錯誤
Uncaught TypeError: ajaxGetJSON is not a function
下面是的WebPack提供給我的模塊對象的檢查:
當我將要求更改爲import ajaxGetJSON from "../utils/ajaxGetJSON";
運行時錯誤不會發生,並且應該是功能ajaxGetJSON
的檢查對象正常工作。
ajax模塊使用export default myObject
。
爲什麼切換到導入可以解決我的問題?
我現在正在意識到這一點;當我們需要使用rewire來模擬測試套件中的依賴關係時,我們主要使用require。遵守的好規則。如果我們想要解決這個問題,我們需要'let foo = require(「foo」)。default'呢? –
是的,這將工作(直到babel更改其模塊格式 - 這不太可能,但[之前已經發生](http://stackoverflow.com/q/33505992/1048572))。 – Bergi