解決react dva打包報錯Unexpected token: operator (>)

問題描述

近期在工作中,打包react項目時控制檯報了以下錯誤:

ERROR in index.js from UglifyJs
Unexpected token: operator (>) [./~/query-string/index.js:8,0]

問題解決

我先初步推斷了一下問題:
Unexpected token: operator (>) 表示不識別 > 符號
/query-string/index.js 表示這個文件裏面的第8行第0列出現的問題

我就找這個文件,發現是node_modules目錄下的,安裝的query-string插件,就打開看了一下第8行的內容。

return (key, value, index) => {
   ...
}

發現是箭頭函數的 > 沒有被識別,箭頭函數是ES6的語法,由此可以發現是babel的問題。
該項目用的是roadhog配置的babel,我就去查看了一下roadhog的配置,想把node_modules/query-string/index.js加入babel編譯裏面,結果在其官網看到了以下內容:

把源碼放到 src 目錄下,因爲非 src 目錄下的文件不會走 babel 編譯。

roadhog默認只編譯src目標錄下的,所以我就去找query-string的版本,發現5.0.1的版本是用的es5寫的,於是把它的版本降低,經過測試後解決了這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章