飞道科技

飞道科技文档总汇

Node.js

介绍

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

引用官网的一段介绍,几个关键字:V8事件驱动,非阻塞npm

先说V8,V8确实是非常优秀的一个js引擎,据说已经有10个年头了,谷歌出口,非同凡响。性能非常高,我个人也做过一些测试(CPU密集型的),确实是超过了java的。这在有些人眼中是不可能的,很多人似乎都认为脚本语言的运行效率不会超过编译型的语言的。这里附上一篇2013年的一篇文章,有兴趣的人可以自己去试。

再说说事件驱动,非阻塞,Node.js没有线程概念,带给开发人员的好处是很显而易见的:你不需要了解线程、协程的概念,不需要在多线程通信时用锁,对于某些吃过这方面亏的人来说,这简直太美好了!

npm,正如官方所说,npm是一个最大的开源库的生态,现在跟js相关的脚本(有些甚至根本不是js脚本),差不多都可以在npm上找得到。

安装Node.js

详细的安装文档请参考Node.js官网上的文档(实际上我也没发现有什么安装文档)

Windows

Windows上的安装比较简单,从官网下载安装包,按提示一步步安装就结束了。

如果你有这方面的经验,你肯定要笑了,windows上的安装出现的问题千奇百怪,很多人也见怪不怪了。基本上会有这么两类问题:

  1. 路径问题
  2. 权限问题

单纯安装Node.js的问题目前我遇到的最多的现象就是环境变量中没有加进去,安装完之后命令行中不识别node和npm命令。如果手动添加环境变量也不好使的话,那就菩萨保佑吧,当然你也可以选择万能的解决方案:重装系统。

Linux

那就比较简单了,有一个工具,名字叫nvm(Node Version Manager),利用它,我们可以非常方便地安装和切换nodejs。安装脚本如下(注意脚本中我在.zshrc文件中添加了一个阿里的镜像,如果你没有使用zsh,可以试着先安装zsh或是自己手动添加该配置。感谢党,比原站点速度快一些):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
# or
# wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
echo 'export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node'>>~/.zshrc

安装zsh的脚本也备注在这里:

sudo apt install zsh

重启终端后,再执行以下命令

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
nvm install 10.1.0
nvm alias default 10.1.0

安装 YARN

我们需要用到自建的npm仓库,所以我们需要安装yarn,安装命令如下:

npm i -g yarn --registry=http://registry.npm.ifeidao.com

注意 如果安装了新版本的Node.js,需要重新执行以上两条命令。

安装依赖环境 Python(v2.7), C++编译环境

因为有部分npm模块含有c++插件(addons),需要在安装之后进行c++编译,所以会用到python2.x和c++编译器。在Linux上,运行以下命令直接搞定,至今我个人还没遇到python3的问题。

sudo apt install -y python2.7 g++ make

注意 如果是Windows,请使用管理员权限打开Git Bash或Powershell,运行以下命令

yarn global add --production windows-build-tools

这个过程会比较长。因为需要下载python和c++编译环境的安装程序,还是耐心等待吧(虽然完成之后还是有可能环境变量加不上,c++编译环境安装不成功),如果受不了,换Debian。具体操作:

  1. 在windows开始菜单处搜索 git bash
  2. 右键点击搜索出来的项目,选择“以管理员身份运行”
  3. 输入以上命令,回车运行
  4. 等待安装完成,因为国内众所周知的网络问题速度会比较慢

如果Windows上实在安装不了,请不要折腾了,因为多数情况下那些安装不上的c++依赖不影响你本地的多数开发。