利用n工具輕松管理Node.js的版本
前言
相信對(duì)于學(xué)習(xí)Node.js的小伙伴們都知道,現(xiàn)在 Node 的版本更新很快,目前最新穩(wěn)定版已經(jīng)更新到 v7.6.0 了,而生產(chǎn)環(huán)境一般選擇使用 LTS(Long-term Support)版本,目前最新的是 v6.10.0。
LTS本地下載:點(diǎn)擊這里
新版的 Node 7.x.x 有非常有用的更新,那就是支持了 --harmony-async-await。這樣就不用依賴 babel 來(lái)使用 async/await 特性了。
但是,如何讓 7.x.x 和 LTS 的 6.x.x 并存呢?就需要用 Node 版本管理工具了。
之前常用的 Node 版本管理工具是 nvm,這是一個(gè) shell 工具,能夠比較方便地切換 Node 版本。
nvm本地下載:點(diǎn)擊這里
不過(guò)今天我要介紹給大家的是另一款更簡(jiǎn)單好用的 Node 版本管理工具,它本身是一個(gè) Node 模塊,叫做 n,它是由 TJ 大大開(kāi)發(fā)的
n 本地下載:點(diǎn)擊這里
強(qiáng)調(diào)簡(jiǎn)單化的版本管理工具:
Node.js version management: no subshells, no profile setup, no convoluted API, just simple.
安裝 n
要安裝 n 非常簡(jiǎn)單,它本身是一個(gè) NPM 模塊,因此:
npm -g install n
使用和設(shè)置
要使用 n 安裝特定版本的 node,只需要如下命令:
n stable #安裝最新的穩(wěn)定版 n lts #安裝最新的 LTS 版 n 6.9.0 #安裝特定的 v6.9.0 版本
安裝完成多個(gè)版本后,直接輸入不帶參數(shù)的 n 命令,會(huì)出現(xiàn)一個(gè)已安裝版本的列表:
用鍵盤(pán)上下鍵選擇版本,然后回車(chē),就可以切換默認(rèn) Node 版本。
直接啟動(dòng)不同版本的 Node
假如我們將默認(rèn)的 Node 版本設(shè)置為 6.10.0 了,而我們要使用 7.6.0 啟動(dòng)某個(gè)應(yīng)用,也非常簡(jiǎn)單,只需要:
n use 7.6.0 index.js
于是,我們可以這么用:
async.js
'use strict' let randomDelay = () => new Promise(function(resolve){ var delay = Math.round(Math.random() * 1000); setTimeout(function(){ console.log('delay ' + delay + ' ms'); resolve(delay); }, delay); }); async function main(){ await Promise.all([randomDelay(), randomDelay()]); console.log('pass'); await randomDelay(); } main();
n use 7.6.0 async.js
你會(huì)看到類(lèi)似下面這樣的輸出結(jié)果,說(shuō)明我們不需要 babel,直接可以用 Node 7.6.0 支持 async/await 了。
delay 252 ms delay 964 ms pass delay 536 ms
最后,我們可以創(chuàng)建一個(gè)快捷的命令:
echo alias node7="\"n use 7.6.0 --harmony-async-await\"" >> ~/.bashrc source ~/.bashrc
這樣我們就可以愉快地使用 node v7.x.x 運(yùn)行我們的 js 了:
node7 async.js
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng)
這篇文章主要介紹了Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng),本文給出了服務(wù)器端、客戶端、圖表生成、Shell自動(dòng)執(zhí)行等功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04Node.js dgram模塊實(shí)現(xiàn)UDP通信示例代碼
這篇文章主要介紹了Node.js dgram模塊實(shí)現(xiàn)UDP通信示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Node.js使用Streams來(lái)處理文件讀寫(xiě)操作的示例代碼
在Node.js中,Streams 提供了一種高效的方式來(lái)處理文件的讀寫(xiě)操作,特別是對(duì)于大文件或數(shù)據(jù)流,Streams 允許你以流的方式讀寫(xiě)數(shù)據(jù),這意味著數(shù)據(jù)可以分塊處理,本文介紹了在Node.js中如何使用Streams來(lái)處理文件讀寫(xiě)操作,需要的朋友可以參考下2024-09-09Node Express用法詳解【安裝、使用、路由、中間件、模板引擎等】
這篇文章主要介紹了Node Express用法,結(jié)合實(shí)例形式詳細(xì)分析了node.js Express安裝、使用、路由、中間件、模板引擎等相關(guān)概念、原理及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05node.js?中的require用法和import的區(qū)別解析
在Node.js中,require是一個(gè)內(nèi)置的函數(shù),用于在當(dāng)前模塊中加載和緩存其他模塊,這篇文章給大家介紹node.js?中的require用法和import的區(qū)別,感興趣的朋友跟隨小編一起看看吧2024-04-04