Node介绍与安装

  • Node.js

不是一门语言,不是库、框架,是一个JavaScript运行时环境

简单来说就是Node.js可以解析和执行JavaScript代码。以前只有浏览器可以解析执行js代码,现在js可以脱离浏览器来运行,归功于Node.js

  • Node.js能做什么

Node.js最擅长处理高并发,在Java、PHP或.net等服务端语言中,会为每一个客户端链接创建一个新的线程。

而每个线程需要耗费大约2MB内存,

也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。

Node.js不为每个客户连接创建新线程,而仅仅使用一个线程。

当有用户连接了就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。

使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户连接。 

  • 安装

参见菜鸟教程

mac:推荐通过NVM安装指定版本的node

$ brew install nvm

$ cd ~
$ vim .bash_profile

// 添加以下命令
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

$ source .bash_profile

// 使用nvm安装node

$ nvm ls-remote 查看 所有的node可用版本

$ nvm install xxx 下载你想要的版本

$ nvm use xxx 使用指定版本的node 

$ nvm alias default xxx 每次启动终端都使用该版本的node 

// 完成
$ node -v
$ npm -v 
  •  浏览器中的JavaScript

1)EcmaScript:基础语法、if、var、function、Object、Array

2)BOM

3)DOM

  • Node.js中的Javascript

1)没有BOM、DOM

2)有EcmaScript (如ES 6)

3)在Node这个js执行环境中为js提供来一些服务器级别的操作API

如:文件读写、网络服务的构建、网络通信、http服务器等处理 

  • 构建在Chrome的V8引擎之上

1)代码只是具有特定格式的字符串而已,引擎可以帮你去解析和执行

2)Google Chrome的V8引擎是目前公认的解析执行js代码最快的js引擎

3)Node.js的作者把Google Chrome中的V8引擎移植来出来,开发了一个独立的js运行时环境

  • Node.js特性

1)事件驱动 2)非阻塞IO模型(异步),使其轻量和高效

  • npm (基于node开发的)

npm是世界上最大的开源库生态系统,绝大多数js相关的包都放在npm上,方便开发人员下载使用

国内可使用cnpm

  • B/S 编程模型 

Browser - Server

任何服务端技术这种B/S编程模型都是一样,和语言无关

Node只是作为我们学习B/S编程模型的一个工具

 
原文地址:https://www.cnblogs.com/stringarray/p/12602221.html