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

問題描述

近期在工做中,打包react項目時控制檯報瞭如下錯誤:node

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

問題解決

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

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

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寫的,因而把它的版本下降,通過測試後解決了這個問題。測試

相關文章
相關標籤/搜索