微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

前言

相信对于学习Node.js的小伙伴们都知道,现在 Node 的版本更新很快,目前最新稳定版已经更新到 v7.6.0 了,而生产环境一般选择使用 (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 版本管理工具是 ,这是一个 shell 工具,能够比较方便地切换 Node 版本。

nvm本地下载:

不过今天我要介绍给大家的是另一款更简单好用的 Node 版本管理工具,它本身是一个 Node 模块,叫做 ,它是由 TJ 大大开发的

n 本地下载:

强调简单化的版本管理工具:

rush:plain;"> Node.js version management: no subshells,no profile setup,no convoluted API,just simple.

安装 n

要安装 n 非常简单,它本身是一个 NPM 模块,因此:

rush:bash;"> npm -g install n

使用和设置

要使用 n 安装特定版本的 node,只需要如下命令:

rush:bash;"> n stable #安装最新的稳定版 n lts #安装最新的 LTS 版 n 6.9.0 #安装特定的 v6.9.0 版本

安装完成多个版本后,直接输入不带参数的 n 命令,会出现一个已安装版本的列表:

键盘上下键选择版本,然后回车,就可以切换认 Node 版本。

直接启动不同版本的 Node

假如我们将认的 Node 版本设置为 6.10.0 了,而我们要使用 7.6.0 启动某个应用,也非常简单,只需要:

rush:bash;"> n use 7.6.0 index.js

于是,我们可以这么用:

async.js

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();

rush:plain;"> n use 7.6.0 async.js

你会看到类似下面这样的输出结果,说明我们不需要 babel,直接可以用 Node 7.6.0 支持 async/await 了。

rush:plain;"> delay 252 ms delay 964 ms pass delay 536 ms

最后,我们可以创建一个快捷的命令:

> ~/.bashrc source ~/.bashrc

这样我们就可以愉快地使用 node v7.x.x 运行我们的 js 了:

rush:js;"> node7 async.js

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

原文地址:https://www.jb51.cc/nodejs/39824.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐