1. 概念

基于V8引擎(webkit内核)渲染和解析JS的环境。特点是单线程,异步,非阻塞I/O,事件驱动,擅长处理高并发请求。类似的工具环境有webview/谷歌浏览器等

2.运行方式

2.1 基于命令行

  1. node xxx.js

2.2 基于REPL

REPL模式(Read-Evaluate-Print-Loop):命令行中输入node,然后回车即可。相当于谷歌浏览器控制台。

3. 基于node环境常用工具

  • webpack:自动化项目部署工具
  • npm(node package manager),类似的有bower、yarn

4. 基于node.js常用的后台项目架构

4.1 基于node构建全栈项目(一般是中小型项目)

4.2 构建中间层

单线程异步、无阻塞I/O、事件驱动,适合处理高并发业务

4.3 基于中间层跨域

客户端和中间层在同一个域下,基于中间层从第三方api获取数据(node.js可以跨域获取数据)。

4.4 基于node.js实现服务器渲染

5. node.js和客户端js的区别

  1. js在客户端浏览器中运行,不能对客户端本地文件进行操作,在中用户手动选择文件除外,node中可以对文件操作,node赋予了JS进行I/O操作的能力(内置模块:fs)
  2. 客户端浏览器中全局对象为window,node中为global