最近在接手一個vue-cli3搭建的app項目的新需求時, 發現自己拉下代碼之後啓動一直報錯,
報錯是 unexpected token...
對應的報錯文件是 項目\ node_modules\ read-pkg\index.js , 具體是裏面有一個...options 的運算操作報錯,導致項目起不起來
後面搗鼓一圈, 走了點彎路, 還是把問題解決了, 問題的解決過程如下:
嘗試一:
最開始的時候 看到... 運算符不能解析, 以爲是babel沒有配置好, 自己搗鼓了一圈配置, 結果發現怎麼配置都依然啓動報同樣的錯, 後面一問,其他人項目啓動都沒有問題,大家都是拉的一樣的代碼,看來不是babel配置問題;
嘗試二:
後面看了一下vue.config.js 的配置, 配置裏面有一個選項是transpileDependencies, 官網上的解釋是這樣的:
默認情況下 babel-loader
會忽略所有 node_modules
中的文件。如果你想要通過 Babel 顯式轉譯一個依賴,可以在這個選項中列出來, 鑑於 現在的報錯是因爲node_modules裏面的 read-pkg 文件夾裏面index.js 文件可能無法轉碼成功, 所以在vue.config.js 的文件裏面將transpileDependencies 這一項的值配置成了 [ node_modules/read-pkg], 但是配置完成之後還是報錯
嘗試三:
目前推測的兩種可能都沒有解決問題, 後面去網上搜了一圈, 發現其他人也有類似經歷, 遇見報錯' Unexpected token { '
然後git issues 上面給出的解決方案是 npm 和node.js版本過低, 需要對npm 和node進行升級更新。
趕緊檢查了一下我node的版本, 因爲是兩年前進公司安裝的node, 所以版本還是8.2.1,後面一直沒有主動去升級更新,所以現在需要升級╮(╯▽╰)╭
升級的解決方案如下:
npm 升級的命令行:
npm update -g
node.js升級的命令行如下:
npm install -g n
n stable / n latest
以爲到這裏問題就解決了?
結果執行npm install -g n 報錯
這時需要強制執行:
npm install -g n --force
然後執行 n stable
又報錯:
bash: n: command not found ╮(╯▽╰)╭
這熟悉的經歷是 node的版本管理n模塊在公司電腦全局安裝之後無法使用, 沒辦法, 趕緊在 alias.bashrc 文件裏面配置了一行:
alias n = 'node/d/user/(username)/AppData/Roaming/npm/node_modules/bin/n'
執行 source alias.bashrc 之後
然後執行 n lates/ n stable 發現還是都報錯, 後面瞭解到, 在我目前的公司使用命令行升級,是無法實現node版本更新的, 只能去官網下載最新node版本包然後重新安裝 ╮(╯▽╰)╭
最後, 下載node 最新版本之後 查看版本號
node -v
v10.16.3
再次嘗試啓動項目, 這次終於啓動成功~~坎坷的項目啓動之路 終於結束✿✿ヽ(°▽°)ノ✿
最後, 去官網上又確認了一下, 發現對於vue-cli3項目,node的使用版本是有要求的,需要在8.9 以上。
以上就是這次項目啓動報錯問題解決的全過程, 記錄一下, 希望能給有需要的人一點參考~~