利用n工具輕松管理Node.js的版本
前言
相信對于學習Node.js的小伙伴們都知道,現(xiàn)在 Node 的版本更新很快,目前最新穩(wěn)定版已經更新到 v7.6.0 了,而生產環(huán)境一般選擇使用 LTS(Long-term Support)版本,目前最新的是 v6.10.0。
LTS本地下載:點擊這里
新版的 Node 7.x.x 有非常有用的更新,那就是支持了 --harmony-async-await。這樣就不用依賴 babel 來使用 async/await 特性了。
但是,如何讓 7.x.x 和 LTS 的 6.x.x 并存呢?就需要用 Node 版本管理工具了。
之前常用的 Node 版本管理工具是 nvm,這是一個 shell 工具,能夠比較方便地切換 Node 版本。
nvm本地下載:點擊這里
不過今天我要介紹給大家的是另一款更簡單好用的 Node 版本管理工具,它本身是一個 Node 模塊,叫做 n,它是由 TJ 大大開發(fā)的
n 本地下載:點擊這里
強調簡單化的版本管理工具:
Node.js version management: no subshells, no profile setup, no convoluted API, just simple.
安裝 n
要安裝 n 非常簡單,它本身是一個 NPM 模塊,因此:
npm -g install n
使用和設置
要使用 n 安裝特定版本的 node,只需要如下命令:
n stable #安裝最新的穩(wěn)定版 n lts #安裝最新的 LTS 版 n 6.9.0 #安裝特定的 v6.9.0 版本
安裝完成多個版本后,直接輸入不帶參數(shù)的 n 命令,會出現(xiàn)一個已安裝版本的列表:

用鍵盤上下鍵選擇版本,然后回車,就可以切換默認 Node 版本。
直接啟動不同版本的 Node
假如我們將默認的 Node 版本設置為 6.10.0 了,而我們要使用 7.6.0 啟動某個應用,也非常簡單,只需要:
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
你會看到類似下面這樣的輸出結果,說明我們不需要 babel,直接可以用 Node 7.6.0 支持 async/await 了。
delay 252 ms delay 964 ms pass delay 536 ms
最后,我們可以創(chuàng)建一個快捷的命令:
echo alias node7="\"n use 7.6.0 --harmony-async-await\"" >> ~/.bashrc source ~/.bashrc
這樣我們就可以愉快地使用 node v7.x.x 運行我們的 js 了:
node7 async.js
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
詳解如何模擬實現(xiàn)node中的Events模塊(通俗易懂版)
這篇文章主要介紹了如何模擬實現(xiàn)node中的Events模塊(通俗易懂版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
express搭建的nodejs項目使用webpack進行壓縮打包
對于打包這個問題它并不是難點,但是對于我們這種初學者來說,根本就不知道應該怎么做,下面這篇文章主要給大家介紹了關于express搭建的nodejs項目使用webpack進行壓縮打包的相關資料,需要的朋友可以參考下2022-12-12
node將Excel數(shù)據(jù)轉為JSON的示例代碼
平時工作中我們基本都會接觸到excel數(shù)據(jù)表,但是在代碼中使用和處理數(shù)據(jù)的時候通常都要先將其轉為json格式數(shù)據(jù),json格式的數(shù)據(jù)可以更加方便我們進行處理,那么我們要怎么將Excel數(shù)據(jù)轉為JSON數(shù)據(jù)呢,接下來本文給大家詳細介紹一下2024-11-11
node.js使用express-fileupload中間件實現(xiàn)文件上傳
本文使用express作為服務端,使用express-fileupload庫提供的中間件函數(shù)來接受從客戶端傳來的圖片,并將圖片作為文件存儲在服務端,感興趣的可以了解一下2021-07-07
初學者如何快速搭建Express開發(fā)系統(tǒng)步驟詳解
這篇文章主要介紹了初學者如何快速搭建Express開發(fā)系統(tǒng),結合實例形式詳細分析了express框架搭建的具體步驟與相關注意事項,需要的朋友可以參考下2023-05-05

