0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

nodejs 后端技术介绍

jf_78858299 来源:哈工大威海网络中心 作者:长夜 2023-05-05 16:41 次阅读

笔者最开始学的后端技术是 python 的 Django 框架,由于很久没有使用过 python 语法,便想着了解一些 nodejs 的后端技术。下面将最近的收获总结一下。

1

Express

官方描述:Express 是基于 Node.js 平台,快速、开放、极简的Web 开发框架。

对于node.js来说,Express 是一个第三方模块,有丰富的 API 支持,强大而灵活的中间件特性,Express 不对 Node.js 已有的特性进行二次抽象,只是在它之上扩展了 Web 应用所需的基本功能。

express 出来的时候,es6 的标准没有出来。而node的事件处理的方式都是基于 callback 的这种形式,在当时来看,这种方式是比较好的一种方式。所以 express 里面的中间件处理的方式基本上都是回调。

es6 的出现,带来了许多新的标准。使得express 不得不考虑需要兼容es6中的语法, 而 es6中处理异步的方式是promise,还有后面陆续的 async 和 await 等语法糖。

2

Koa.js

官方描述:koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。

koa 的设计理念是一个极简的http请求框架,相较于 express 相对全面的中间件库而言,koa 仅实现了网络请求相关的核心功能,额外的功能可以依靠koa社区生态提供的中间件实现。

koa 提出了一种称之为洋葱模型的结构:对于每个中间件,在完成了一些事情后,可以非常优雅的将控制权传递给下一个中间件,并能够等待它完成,当后续的中间件完成处理后,控制权又回到了自己,可以用下面的图来形象的表示:

3

**Nest.js

**

官方描述:Nest.js 是用于构建高效且可伸缩的服务端应用程序的渐进式 Node.js 框架。

NestJs是一个构建高效、可扩展的Node.js服务端应用框架。它使用渐进式JavaScript,支持TypeScript,结合了OOP(面向对象编程)、FP(功能编程)、FRP(功能反应式编程)。

NestJs提供了一个开箱即用的框架,能够创建可测试、可扩展、低耦合和易于维护的应用程序。它一部分的思想受到了了Angular的启发。

从书写方式上来看,Nest.js 和传统的后端架构很相似,后端转前端用这玩意应该很舒服,不过既然已经是后端开发者,那为什么不用偏后端语言和框架来写后端呢?

4

**Prisma

**

官方描述:Prisma 是一个下一代 Node.js、TypeScript、Go 的数据库 ORM

主要提供用于数据库的对象模型,包含下面三个部分:

  • Prisma Client: orm本体,可以使用js查询数据库
  • Prisma Migrate: 迁移工具,将.prisma文件中的数据库建模迁移到数据库
  • Prisma Studio: 可视化查看数据库的GUI,web端实现
    与传统 ORM 不同,ORM 是映射数据库的表到编程语言上的类。而 Prisma 是一个数据库工具,能够根据数据模型生成特定的查询工具。
    从设计目的上来讲,Prisma最初是GraphCool其中一部分,后来独立开源出来。Prisma是最简单&快速构建GraphQL后端服务的方式。它的数据模型也和GraphQL很是相似。

5

**strapi

**

官方描述:[strapi]是一种灵活的、开放源码的无头CMS (内容管理系统)

strapi服务基于koa2,可以通过可视化页面简单的操作数据库建表、修改数据、配置权限等等,前端可以根据RESTful API 设计规范请求strapi默认配置的接口,获取到数据库的数据,甚至可以使用graphql等插件。

6

小结

对于上面的几门技术而言,strapi是其中上手门槛最低、功能也相对较为全面的。笔者也将于接下来的一些课程设计中使用。

个人认为,学习一门技术,并非要看其是否流行、是否大而全,适合自己目前需求的技术才是最好的技术。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83467
  • nodejs
    +关注

    关注

    0

    文章

    19

    浏览量

    4183
  • 后端
    +关注

    关注

    0

    文章

    29

    浏览量

    2095
收藏 人收藏

    评论

    相关推荐

    02.002 NodeJS入门 为什么要学习NodeJS

    nodejs
    充八万
    发布于 :2023年07月19日 14:27:44

    07.007 NodeJS入门 命令的结构

    nodejs
    充八万
    发布于 :2023年07月19日 14:30:13

    04.004 NodeJS入门 NodeJS的作用 #硬声创作季

    nodejs
    充八万
    发布于 :2023年07月19日 14:33:58

    05.005 NodeJS入门 NodeJS的安装

    nodejs
    充八万
    发布于 :2023年07月19日 14:35:12

    01.001 NodeJS视频简介

    nodejs
    充八万
    发布于 :2023年07月19日 19:05:48

    【WRTnode2R试用体验】nodejs

    看官网信息,WRTnode2R是支持nodejs的,但是我通过opkg命令无法下载nodejs。有谁有二进制安装包的?官网链接地址:http://wrtnode.cc/html/hardware_2.html#wrtnode2r
    发表于 12-05 19:34

    通过Linux命令直接下载nodejs

    我这里通过Linux命令直接下载nodejs,因为直接通过wget命令下载的话需要知道nodejs的下载地址。
    发表于 07-05 07:29

    nodejs与java的互调用方法

    nodejs 与java的互调用方法很多,我们可选的是使用oracle 新的vm 引擎(graalvm很不错) 还有就是基于browserify进行包装,同时给java 提供一套require
    发表于 11-04 07:31

    数字IC后端设计介绍,写给哪些想转IC后端的人!

    膜制造。  IC后端设计工具介绍:  数字后端设计中常用的工具主要由Cadence, Synopsys和Mentor三大公司推出。  逻辑综合工具:Synopsys DC ,Cadence Genus
    发表于 12-29 11:53

    介绍RTL设计引入的后端实现过程中的布线问题

    数字IC设计可谓环环相扣,很多环节都存在迭代发生的可能。在最初芯片设计之前主要考虑PPA,即power、performance和area,但是实际项目中还存在仿真、测试及后端实现的问题。本文主要介绍
    发表于 04-11 17:11

    nodejs 如何调用 CH375函数?

    我是小白一枚,最近在用nodejs做一个上位机软件,通过CH375拿到设备发送过来的数据。厂家给了CH375DLL64.dll,由于nodejs调用dll文件比较麻烦,经过在网上找资料
    发表于 11-03 13:58

    后端系统,后端系统是什么意思

    后端系统,后端系统是什么意思 “后端系统”从宽泛的角度上讲是指向用户提供数据的服务器、超级服务器、群集系统、中程系统以及
    发表于 04-06 17:21 3632次阅读

    IC设计前后端流程与EDA工具介绍

    本文首先介绍了ic设计的方法,其次介绍了IC设计前段设计的主要流程及工具,最后介绍了IC设计后端设计的主要流程及工具。
    发表于 04-19 18:04 1.2w次阅读

    使用Homebridge和HAP NodeJS来模拟HomeKit API

    电子发烧友网站提供《使用Homebridge和HAP NodeJS来模拟HomeKit API.zip》资料免费下载
    发表于 07-10 10:42 0次下载
    使用Homebridge和HAP <b class='flag-5'>NodeJS</b>来模拟HomeKit API

    数字后端基本概念介绍—FinFET Grid

    今天要介绍的数字后端基本概念是FinFET Grid,它也是一种设计格点。介绍该格点前,我们首先来了解一下什么是FinFET技术
    发表于 07-12 17:31 796次阅读
    数字<b class='flag-5'>后端</b>基本概念<b class='flag-5'>介绍</b>—FinFET Grid