?? 個(gè)人主頁(yè)歡迎訪問(wèn) ??
來(lái)到這家公司,發(fā)現(xiàn)產(chǎn)品運(yùn)營(yíng)了好幾年了,node以及npm版本都是特別低,如果自己做一些vue腳手架或是webpack高版本的demo,根本就實(shí)現(xiàn)不了,本身webpack、gulp、grunt等工具都是在node的環(huán)境下運(yùn)行的,而我們現(xiàn)在的產(chǎn)品一般都會(huì)在前端和后端的API層之間加一個(gè)nodeJs層作為中間層,用它做一些轉(zhuǎn)發(fā)或是數(shù)據(jù)處理。說(shuō)到這里有些跑題了,就是說(shuō)我們需要來(lái)回切換不同的node版本來(lái)供我們所需,因此會(huì)用到nvm/gnvm

What’s the nvm?
nvm:Node Version Manager
還有一個(gè)node版本管理器叫g(shù)nvm,這二者的區(qū)別和關(guān)系是怎樣的我不太清楚,有興趣的可以自行查一下,我之前試了gnvm,安裝不了其他版本的node,后來(lái)沒(méi)辦法了改用nvm
nvm的使用
參考???https://segmentfault.com/a/1190000007612011
下載:https://github.com/coreybutler/nvm-windows/releases
將nvm下載下來(lái),上面的鏈接中有免安裝版和安裝板,我選擇傻瓜式安裝,完成之后找到你的nvm的安裝目錄,有一個(gè)settings.txt文件,打開(kāi)之后把下面的代碼復(fù)制進(jìn)去:
arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
效果圖:

把上面的四行代碼復(fù)制到root的path的下面,然后保存關(guān)閉,在你的命令提示符中輸入nvm v 會(huì)有一個(gè)你剛才安裝的nvm的版本,接著有幾個(gè)命令是一定用得到的,來(lái)可以更好的管理node
nvm list // 你本機(jī)中所有的node的版本列表
nvm install latest // 安裝最新版本
nvm install 4.8.4 // 安裝指定版本
nvm use 10.8.0 // 當(dāng)前使用版本
安裝的node會(huì)在nvm路徑下看到,而且在命令行中可以查看我們當(dāng)前用的是哪一個(gè)版本,用webpack 4.0之后的版本對(duì)項(xiàng)目進(jìn)行打包需要用到高版本的node,應(yīng)該是node 8.5版本之后的,我安裝了最新的。
成功安裝之后,如果不能用的話,就看你的電腦里的系統(tǒng)變量是否配置成功:

用戶變量:
PATH:新增了 %NVM_HOME%;%NVM_SYMLINK%; 這兩個(gè)環(huán)境變量
系統(tǒng)變量:
NVM_HOME:nvm安裝的路徑,即settings里面的root
NVM_SYMLINK:node快捷方式的路徑,即settings里面的path
以上配置如果成功了,但是切換node版本的時(shí)候運(yùn)行項(xiàng)目發(fā)現(xiàn)node不存在了,就試試這個(gè)解決方案:
在用戶變量里的PATH,放入你用nvm管理的node版本的路徑,我想用的是v4.8.1:


如果到這里還不好使,那就試試終極解決方案吧:
就是把系統(tǒng)變量中的PATH也加入剛才的那個(gè)路徑,這個(gè)時(shí)候重新開(kāi)啟項(xiàng)目就可以運(yùn)行了_
Why use this?
如果node 版本過(guò)低,配置項(xiàng)和代碼里面的一切ES6語(yǔ)法糖就都無(wú)法識(shí)別,以致于在build的時(shí)候各種報(bào)錯(cuò),有的人說(shuō)了我可以安裝一個(gè)babel-loader依賴來(lái)改善代碼,提高node對(duì)ES6的支持,那我想說(shuō)了,后面可能還要安裝一堆,同樣不好使,本人親身嘗試,苦不堪言,所以建議大家一步到位,有了nvm,媽媽再也不用擔(dān)心我無(wú)法使用node了


由于webpack 4的ES6的加持,以及V8引擎的優(yōu)化,支持更高ES6語(yǔ)法糖的node環(huán)境也是很有必要的!
本文的所有內(nèi)容均是一字一句敲上去的,希望大家閱讀完本文可以有所收獲,因?yàn)槟芰τ邢?,掌握的知識(shí)也是不夠全面,歡迎大家提出來(lái)一起分享!謝謝O(∩_∩)O~
歡迎訪問(wèn)我的GitHub,喜歡的可以star,項(xiàng)目隨意fork,支持轉(zhuǎn)載但要下標(biāo)注;
歡迎光臨個(gè)人主頁(yè)
等一下( ?? .? ?? ),我還有最后一句話:
人活在世界上,
重要的是愛(ài)人的能力,
而不是被愛(ài),
我們不懂得愛(ài)人又如何能被人所愛(ài)。
