2017-10-05 126 views
0

我在JavaScript文件中使用btoa函數。它應該在使用Jasmine的單元測試和瀏覽器中運行。 由於btoa在節點中不可用,我導入了npm包btoa。 我使用的是browserify,因爲這個函數已經在瀏覽器中定義了,所以我不想把它和我的JS捆綁在一起。 我導入使用:在Jasmine和瀏覽器中使用btoa

var btoa = require("btoa"); 

,並稱之爲:

var x = btoa(plainText); 

的問題是,當我使用browserify,該函數獲取與輸出JS捆綁在一起。我嘗試了-i btoa標誌,但結果是我在瀏覽器中收到「btoa不是函數」錯誤。 如何僅在運行單元測試時才導入此模塊?

感謝

回答

0

我用「BTOA - 精簡版」軟件包,而不是BTOA包解決了這個。 「btoa-lite」定義了在節點(和Jasmine單元測試)中使用的btoa-node.js。btoa-browser.js在它捆綁JavaScript依賴關係時瀏覽引用。 btoa-browser.js只是將調用轉發給瀏覽器中實現的btoa函數。 「atob-lite」包裝相同。

相關問題