前后端分离之项目引入node

本文探讨了前后端分离的重要性,解释了为何采用Node.js作为中间层可以提升开发效率。详细介绍了Node.js的Express框架,包括其核心特性、请求和响应对象、路由设置、静态文件服务以及模板引擎的使用。通过这些内容,读者可以理解如何利用Node.js和Express来构建高效、灵活的Web应用。
摘要由CSDN通过智能技术生成

一、为什么要做前后端分离

随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本。为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版本。

现阶段我们主要以后端MVC的模式进行开发,这种模式严重阻碍了前端开发效率,也让后端不能专注于业务开发,对后期的维护损耗较大。

解决方案是让前端能控制Controller层,但是如果在现有技术体系下很难做到,NodeJS就能很好的解决这个问题。

基于此我们公司的pc项目使用node+express作为了中间层。现在开发一个工程,前期基本靠自己就能自给自足,数据可以使用mock环境来搭建。前端切页面,写逻辑,到了差不多联调接口的时候,基本都可以同步进行了。减少了很多前期沟通时间,效率大大提升。

node分层会涉及每层之间的通讯,肯定会有一定的性能损耗。单合理的分层能让职责清晰、也方便协作,会大大提高开发效率。分层带来的损失,一定能在其他方面的收益弥补回来。
另外,一旦决定分层,我们可以通过优化通讯方式、通讯协议,尽可能把损耗降到最低。

二、node+express 使用方法

Express 简介
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。

使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:

  • 可以设置中间件来响应HTTP 请求
  • 定义了路由表用于执行不同的HTTP 请求动作
  • 可以通过向模板传递参数来动态渲染HTML 页面
    1.请求和响应
    Express 应用使用回调函数的参数: requestresponse 对象来处理请求和响应的数据。
<span style="font-size: medium; font-family: 微软雅黑;">app.get('/',function(req,res){
//
})</span>
<span style="font-size: medium; font-family: 微软雅黑;">

request 和 response 对象的具体介绍:
Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性。常见属性有:

  • req.app:当callback为外部文件时,用req.app访问express的实例
  • req.baseUrl:获取路由当前安装的URL路径
  • req.body / req.cookies:获得「请求主体」/ Cookies
  • req.fresh / req.stale:判断请求是否还「新鲜」
  • req.hostname / req.ip:获取主机名和IP地址
  • req.originalUrl:获取原始请求URL
  • req.params:获取路由的parameters
  • req.path:获取请求路径
  • req.protocol:获取协议类型
  • req.query:获取URL的查询参数串
  • req.route:获取当前匹配的路由
  • req.subdomains:获取子域名
  • req.accepts():检查可接受的请求的文档类型
  • req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages:返回指定字符集的第一个可接受字符编码
  • req.get():获取指定的HTTP请求头
  • req.is():判断请求头Content-TypeMIME类型
<span style="font-size: medium; font-family
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ronghua_yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值