跳到主要内容
版本:1.0

进阶

Node.js 是一个基于 Chrome JavaScript 的运行时平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

安装

自动安装

使用 Ansible 可以很方便安装由 Websoft9 提供的多版本 Node 安装:

git clone https://github.com/websoft9/role_nodejs
ansible-playbook role_nodejs/tests/test.yml

项目基于 nvm 安装,支持多版本

升级

# 升级 NPM
sudo npm install npm -g

概念与原理

NPM

NPM 是随同 Node.js 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

PM2

PM2是一个用于管理Node.js的进程管理工具。本部署方案默认已经安装了PM2,如果你的服务器没有安装PM2,请参加下面的命令全局安装它:

npm install -g pm2

进入到项目的根目录,例如:cd /data/wwwroot/project, 开始使用pm2管理你的Node.js应用

# 启动进程/应用  
pm2 start bin/www 或 pm2 start app.js

# 重命名进程/应用
pm2 start app.js --name wb123

# 添加进程/应用
watch pm2 start bin/www --watch

# 结束进程/应用
pm2 stop www

# 结束所有进程/应用
pm2 stop all

# 删除进程/应用
pm2 delete www

# 删除所有进程/应用
pm2 delete all

# 列出所有进程/应用
pm2 list

# 查看某个进程/应用具体情况
pm2 describe www

# 查看进程/应用的资源消耗情况
pm2 monit

# 查看pm2的日志
pm2 logs

# 若要查看某个进程/应用的日志,使用
pm2 logs www

# 重新启动进程/应用
pm2 restart www

# 重新启动所有进程/应用
pm2 restart all

NVM

nvm 是 Node 的多版本安装与管理工具。

# 安装 NVM
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

# 安装 Node 的最新版本
nvm install node

# 安装 Node 的指定版本
nvm install 6.14.4

# 查询可被安装的版本
nvm ls-remote

# 使用刚安装的版本
nvm run node --version

# 在 subshell 使用指定版本
nvm exec 4.2 node --version

# 查询指定 Node 版本的路径
nvm which 5.0

TypeScript

TypeScript 是 JavaScript 的超集,简单说 TypeScript 具有更丰富的语法特征。

问题解答

如何找到 Node.js 资源?

NPM 需额外单独安装吗?

不需要,它是 Node 的标配

Node.js 环境是否支持部署多个网站?

支持。每增加一个网站,需在虚拟主机配置文件中增加配置项。

YARN vs NPM?

Yarn 是在NPM之后推出的一个包管理解决方案

npmyarn
npm installyarn
npm install react --saveyarn add react
npm uninstall react --saveyarn remove react
npm install react --save-devyarn add react --dev
npm update --saveyarn upgrade

如何安装和管理多个 Node 版本?

使用 NVM 。 它可以避免权限错误,并解决更新 Node.js 和 npm 的复杂性。