從parcel.js打包出錯,到選擇nvm

去年年末發佈的parcel.js在年末可謂是火了一把,短短一個多月的時間在GitHub熱門排行榜上名列前茅。因其幾乎零配置的易用性,相比Webpack的複雜配置收穫了大量關注及好評,甚至有人預言將來大有超過Webpack之趨。我也趕忙嘗試一下,發現確實很是簡單易用,可是一開始,插件仍是比較少,相信將來會愈來愈成熟好用。之後若是有機會我會專門寫一篇關於parcel.js的文章,說了那麼多廢話,其實接下來我要說的是nvm(2333...)node

遇到問題

我在使用parcel.js打包項目的時候出現了下面的錯誤:

我在仔細檢查完代碼而且覈實項目配置沒有問題後,沒辦法只能求助萬能的Google,結果在GitHub上找到了錯誤的緣由,parcel.js使用了Async 函數,默認Node.js 8以上才支持的,低於8的話須要使用babel配置。我查看了一下本身的Node.js版本,以下:

找到問題緣由後,我想升級一下node不就解決問題了。但又一想,公司最近在作的項目有用到node,貿然升級項目報錯就麻煩了。這時候,我想到了nvm,其實很早以前就看過,當時以爲電腦已經安裝了node環境了,卸載從新安裝費事就沒有用它。可是如今須要用新版本的node才能夠用parcel.js,我決定卸載node,從新用nvm安裝,管理node版本。
首先我遇到的問題就是mac下如何完全卸載node呢,由於當時使用Homebrew安裝的,感受直接卸載,應該不完全。因而我上網查了不少文檔,親身實踐以下:npm

Mac os下完全卸載node

1.刪除/usr/local/lib中的全部node和node_modules
2.刪除/usr/local/lib中的全部node和node_modules的文件夾
3.若是是從brew安裝的, 運行brew uninstall node
4.檢查~/中全部的local, lib或者include文件夾, 刪除裏面全部node和node_modules
5.在/usr/local/bin中, 刪除全部node的可執行文件
6.最後運行如下代碼:
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules
(感謝知乎@haochuan)

完全卸載完node後,而後按照Githubnvm安裝文檔一步一步安裝就行了。有了nvm你就能夠爲所欲爲的安裝,切換你想要任何版本的node了。

哈哈,隨便切換node版本,感受真棒。babel

通過這件事,我在思考,其實我很早就知道了會有遇到node版本這個問題。可是怕麻煩就沒有理會,總感受不必定會遇到,可是真到遇到了,仍是要解決的。平時寫代碼也是同樣的,考慮全面再去實現代碼,哪些模塊須要封裝,都要考慮好,並實現。不能由於麻煩就不去作,當你最終遇到本身留下的坑的時候,仍是要本身去填的。每每填坑的同時會帶來更大的痛苦。函數

相關文章
相關標籤/搜索