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