前言
学习前端,不仅仅学习HTML、CSS、JS,它也得学习一些与后端搭建的知识。比如Ajax请求之类的知识,还有就是node.js,它能搭建一个Web服务器后台,是JavaScript运行在服务器上的运行环境。
Node.js是什么
- Node.js不是一门语言
- Node.js不是库、不是框架
- Node.js是一个JavaScript运行时环境
- Node.js可以解析和执行JavaScript代码
- Node.js为JavaScript提供了一些服务器级别的操作API
1、文件读写
2、网络服务的构建
3、网络通信
4、http服务器
5、等处理。。。 - 它构建于Chrome的v8引擎之上
1、代码具有特定格式的字符串
2、引擎可以帮助解析和执行
3、它是公认解析执行JavaScript代码最快的
4、Node.js开发者把v8引擎开发成了一个独立的JavaScript运行环境
Node.js能做什么
- Web服务器后台
- 命令行工具
1、npm(node)
2、git(语言)
3、heox(node)
4、webpack
5、gulp
Node.js优缺点
优点:
- 采用事件驱动、异步编程,为网络服务而设计。JavaScript简单易学。
- Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高性能与出众的负载能力,非常适合用作依赖其它IO资源的中间层服务。
- Node.js轻量高效,可以认为是数据密集型分布式部署环境下的实时应用系统的完美解决方案。Node非常适合如下情况:在响应客户端之前,您预计可能有很高的流量,但所需的服务器端逻辑和处理不一定很多。
缺点:
- 可靠性低。
- 单进程,只支持单核CPU,不能充分的利用多核CPU服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
解决办法:
- 开启多个进程,每个进程绑定不同的端口,用反向代理服务器。