frontend-document icon indicating copy to clipboard operation
frontend-document copied to clipboard

[Node][2021-01-04更新] 是否熟悉Node, 主要做过哪些业务,平时用过什么包?

Open jeddygong opened this issue 3 years ago • 1 comments

jeddygong avatar Jan 03 '21 16:01 jeddygong

什么是Node

​ Node是一个让Javascript运行在服务端的开发平台,它让Javascript成为了与PHP、Python、Perl、Ruby等服务器语言平起平坐的脚本语言。目前Nodejs已发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用Nodejs进行开发,此外,开发人员还可以使用它来开发一些快速移动Web框架。

Node在企业中的运用

1、中间层

​ 通常说前端和后端,前端负责用户界面,而后端负责提供数据和业务接口。现在我们在两者间加入一层,前端并不是直接去请求后端业务接口,而是请求到中间层。再由中间层去请求业务接口,看一下示意图:

image

​ 整个流程可以描述为:客户端直接请求到中间层的Node服务,Node服务分析请求,看需要那个页面,再去请求对应数据,拿到数据后和模板结合成用户看到页面,再给客户端。

​ 中间层的优点:

  • 减轻客户端内存,项目用户体验好。不会像MVVM模式的项目把页面渲染和数据请求都压在客户端,而是在服务端完成。
  • SEO性能好,不想MVVM模式页面由js生成,而是在服务端渲染好html字符,有利于页面被搜索到。
  • 保持了前后端分离的优点和目的,即解放后端,后端可以继续以借口的形式写业务代码。
  • 前端可以操控的范围增多,甚至可以做服务器,数据库层面的优化,比如中间层中尝尝用ngnix,redis来优化项目,应对高并发。

2、做项目的构建工具

​ 很多公司都会开发自己公司的项目构建工具,帮助公司项目做的更标准更方便,一个号的项目构建工具,会极大的加快整个公司的项目开发效率

​ 这一类的项目构建工具一般都要很多的文件操作,Node对于i/o流的操作,在目前的主流后端语言中数一数二。所以越来越多的公司选择用Node来做构建项目的工具。

3、做一些小型网站后端

​ 用Node做后端,可能是大多数人认为的Node作用。其实真正的企业中,很少会让你用Node去做后端。所以一般来说都是做一些小型或者个人站的后端。

Node常用的一些包

  • express web开发框架
  • koa web开发框架
  • multer 处理文件上传
  • formidable 处理表单图片/文件上传和参数上传
  • node-xlsx 读取Excel文件信息后缀只能是xlsx
  • cookie-parser express 中间件
  • express-session express 中间件
  • crypto 加密

jeddygong avatar Jan 04 '21 15:01 jeddygong