1. 概念
基于V8引擎(webkit内核)渲染和解析JS的环境。特点是单线程,异步,非阻塞I/O,事件驱动,擅长处理高并发请求。类似的工具环境有webview/谷歌浏览器等
2.运行方式
2.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的区别
- js在客户端浏览器中运行,不能对客户端本地文件进行操作,在中用户手动选择文件除外,node中可以对文件操作,node赋予了JS进行I/O操作的能力(内置模块:fs)
- 客户端浏览器中全局对象为window,node中为global