JavaScript | 使用 Await 及 Async 還需要一些什麼? feat.Webpack, Babel
Published in
3 min readApr 30, 2019
好的,這件事是我用 react-testing-library 玩測試的時候發現的,之後也會發一篇文章來簡單描述對這個套件的感覺,總之故事是發生在官方的教學中有這例子:
當我就像以前一樣,天真快樂的貼上程式碼想要與 Method 來場快樂的 Unit Test 時,畫面上的終端機卻很不得體的給我噴錯,當然錯誤就是出現在那個 async
和 await
身上,於是又開始了一段 Search 之旅。
啊其實這段旅程沒有很久就結束了,因為小弟我遇到的 87 % 問題其實都在 Stack Overflow 中可以獲得解答,推薦大家有事沒事就可以上去逛一下,收穫應該會比逛蝦皮還多。
好啦!原因就是 @babel/polyfill
只要裝上 @babel/polyfill ,就可以讓使用了 async
和 await
的程式能夠正常運作,需要注意的是它與其他 loader
不同,需要裝在 dependencies
中,而不是 dev
環境:
npm install @babel/polyfill
使用方法也很簡單,只需要在撰寫程式前在第一行先 import
,就能夠正常編譯,且不會出錯:
import '@babel/polyfill';// 或是這麼做:
// require("@babel/polyfill");
另外,如果在專案中有使用 Webpack 做打包的話,也可以直接將 @babel/polyfill
放置在 webpack.config.js
的 entry
中,讓打包時自動載入:
那雖然只是 Coding Blog 的文章,但如果上方有任何問題,也歡迎大家留言討論!謝謝 🙌
參考資料