目录
node.js简介
Node.js 是基于 Chrome 的 V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 主要用于实现后端接口服务、构建网络爬虫、实时通信、streaming、无阻塞 I/O 等高并发应用场景。这里我列举大概的重点知识,结合代码来进行详解。
优点
- 高并发处理能力。采用异步I/O非阻塞式的编程方式,可以轻松处理高并发I/O的应用。
- 跨平台。Node.js基于JavaScript语言和Chrome V8引擎,跨平台能力较好,可以运行在Windows、Linux、MacOS等多个操作系统上。
- 生态系统丰富。Node.js生态系统非常庞大,npm包管理器中有数量众多的模块可供使用。
- 处理实时数据。Node.js适合用于处理实时数据,因为它可以无阻塞的接收和响应HTTP请求。
缺点
- 不适合CPU密集型任务。 Node.js运行在单线程模型上,不适合处理大量的计算密集型任务,如图形处理,密码学计算等。
- 开发复杂度高。 异步编程模型和回调技术使Node.js的开发变得更加复杂,而且需要一些编程技巧和经验。
- API变动频繁。 由于是一个相对较新的技术,API更改频繁,所以需要不断更新,跟进最新的功能。
安装node.js
- 去官方网站 Download | Node.js 下载对应版本的node.js软件安装包。
- 下载完成后,双击安装包并按照提示进行安装。安装完成后,可以在终端中输入node -v命令,查看node.js版本是否安装成功。
- 配置环境变量,在系统变量中,新建,变量名:NODE_PATH 变量值:node_global文件夹下的node_modules文件夹。
如:E:\develop\nodejs\node_global\node_modules
前后端分离
前后端分离并不只是开发模式,而是web应用的一种架构模式。在开发阶段,前后端工程师约定好数据交互接口,实现并行开发和测试;在运行阶段前后端分离模式需要对web应用进行分离部署,前后端之前使用HTTP或者其他协议进行交互请求。
优点
- 彻底解放前端。前端不再需要向后台提供模板或是后台在前端HTML中嵌入后台代。
- 提高工作效率,分工更加明确。前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的JSON文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。
- 局部性能提升。通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
- 降低维护成本。通过目前主流的前端MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。
- 实现高内聚低耦合,减少后端(应用)服务器的并发/负载压力。
- 即使后端服务暂时超时或者宕机了,前端页面也会正常访问,但无法提供数据。
- 可以使后台能更好的追求高并发、高可用、高性能,使前端能更好的追求页面表现、速度流畅、兼容性、用户体验等。
前端如何调用接口
Ajax在浏览器与Web服务器之间使用异步数据传输(HTTP 请求),通过get或者post方法与服务器交互。
前端和后端之所以需要对接,是因为前端页面只负责提供视图没有内容,而后端只提供内容,两者所谓的对接,就是把后端的内容放在前端页面预留出来的位置上。