溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用n工具輕松管理Node.js的版本

發(fā)布時(shí)間:2020-09-04 11:27:24 來(lái)源:腳本之家 閱讀:162 作者:十年蹤跡 欄目:web開發(fā)

前言

相信對(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 大大開發(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è)已安裝版本的列表:

利用n工具輕松管理Node.js的版本

用鍵盤上下鍵選擇版本,然后回車,就可以切換默認(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ì)看到類似下面這樣的輸出結(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ì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI