精品软件 400多个 139my辅 3DESIGN 567网盘

AdonisJs v5.1.4

AdonisJs
软件大小: 0.28 MB 更新时间: 2021-12-30 应用平台: WinAll 软件分类: 编程开发

AdonisJs是一款web框架,可以通过这款框架快速设计新的应用程序,帮助用户快速开发新的软件,软件需要结合Node.js使用,配置Node.js到软件就可以开始创建项目,可以直接在软件创建API,也可以创建新的web程序,结合软件提供的路由、控制器、视图和模板、表格提交、文件上传、中间件、异常处理等组件就可以快速构建应用程序功能模块和数据通信方式,帮助企业构建符合办公需求的web应用程序;AdonisJs功能很多,每个人都可以通过这款软件快速部署网站功能,快速构建HTTP请求方案!

AdonisJs软件功能

路由器

Adonis随附了最快的HTTP路由器之一,而不会影响其功能集。路由组,子域,资源丰富的路由之类的功能都已引入。

表单验证器

作为TypeScpt的第一个框架,Adonis公开了API,以在请求主体上定义运行时验证,还同时提取了静态类型。模板引擎

在SPA时代,有时编写呈现的Apps很有趣。模板引擎(Edge)具有构建动态网页所需的所有功能。

ON序列化器

Adonis是唯一对ON:API具有一流支持的Node.js框架。如果您的团队决定使用ON:API,那么只需几分钟即可将其添加到后端。

SQL优先

Adonis是将SQL视为头等公民的少数Node.js框架之一。我们支持所有主流SQL,例如PostgreSQL,MySQL,MSSQL,MaaDB等。

活动记录ORM

受Rails和Laravel的启发,Adonis附带了Active Record ORM的实现。ORM提供了丰富的API,用于运行复杂的SQL查询和管理关系。

移居

Adonis具有对数据库迁移的内置支持。随着应用程序的发展,您可以使用JavaScpt代码创建和更改数据库模式。

种子与工厂

不再需要与队友共享SQL转储。而是使用数据库播种器快速为您的数据库填充虚拟数据。

多驱动程序身份验证

没有适用于所有应用程序的大小合适的身份验证过程,因此Adonis允许您在会话,不透明令牌和基本身份验证之间进行选择。

内置RBAC

基于角色的访问控制已植入框架中,为您提供用于在整个应用程序中实现授权的细粒度API。

CSRF保护

框架中内置了跨站点请求伪造(CSRF)保护,以确保您的应用程序免受意外表单提交的影响。

网盾

Adonis的防护包附带了一套保护措施,可保护您的应用程序免受XSS,clickjacking,脚本注入等常见攻击的侵害。

启用CORS

使用Adonis,您可以管理跨源HTTP请求的安全设置,以确保只有授权和有效的请求才能通过应用程序。

健康

在容器和编排时代,健康在有效管理资源方面发挥着重要作用。Adonis附带了一些内置的健康。

统一探查器

该框架带有可嵌入的探查器(以最小的开销),可以对应用程序的不同区域进行计时,并发现潜在的瓶颈

AdonisJs软件特色

1、周到且健壮的SQL ORM。它带有查询构建器,迁移和活动记录模型。

2、最先进的HTTP路由器之一,具有以下功能:路由组,子域,模式匹配和资源丰富的路由。

3、提供类型以及运行时验证的表单验证器。无需为HTTP请求主体单独的接口。

4、内置的运行状况模块,可与诸如Kubernetes之类的协调器一起使用。

5、Web安全的重点。我们保护网站免受许多常见的网络攻击。

AdonisJs教程

中间件

中间件是在HTTP请求到达路由处理程序之前执行的一系列功能。使用中间件,您可以执行不同的作,例如:

验证中间件,用于用户是否已登录。如果不是,则在请求到达控制器之前取消该请求。

中间件,用于从其IP地址中找到用户所在的国家/地区,将其传递给控制器。

记录HTTP请求的中间件。

或中间件来转换响应主体。

中间件流程

中间件在每个新的HTTP请求上执行。

它们从左到右依次执行。

如果一个中间件决定中止该请求,那么将不执行所有其他中间件以及路由处理程序。

全球中间件全局

中间件在每个HTTP请求上以与注册时相同的顺序执行。您为要在每个请求上执行的作创建全局中间件。

对于没有注册路由的请求,Adonis不执行全局中间件。这意味着,如果您创建了一个全局中间件,并且请求了一条不存在的路由,那么该中间件将永远不会执行。

为了演示,让我们创建一个中间件,用于从其IP地址中查找用户所在的国家。中间件位于app/Middleware目录内,就像控制器一样,它们也是普通的JavaScpt类。

1、运行以下ace命令以创建一个新的中间件文件。

2、安装geoip-lite。一个npm依赖项,用于从“ IP地址”查找用户位置。

3、打开新创建的文件,并将其内容替换为以下代码片段。

应用/中间件/DetectUserCountry.ts

4、在start/kernel.ts文件中注册中间件。

start / kernel.ts

5、最后,创建一条路线以显示用户检测到的国家。

start / utes.ts

刚刚发生了什么?

上面有很多事情,让我们一步一步地对其进行解码。

使用geoip-lite,我们尝试从其IP地址查找用户所在的国家/地区。

接下来,我们country在request对象上设置。尝试添加动态属时,您将收到TypeScpt错误,但现在暂时忽略它,稍后我们将对其进行修复。

中间件工作完成后,必须调用该next函数。这样做,将执行链中的下一个中间件,最后执行路由处理程序。

最后,您将必须在中注册中间件start/kernel.ts。就像控制器一样,不需要导入中间件文件,您可以将其作为字符串引用传递。

扩展类型

如果按照本指南进行作,您将注意到TypeScpt在尝试将运行时属添加country到请求对象时抱怨,如下图所示。

如果以前使用过TypeScpt,则在尝试在运行时扩展值时可能会遇到类似的情况。实际上,对于任何静态类型的语言都是如此。

由于Adonis的目标之一是可扩展,因此我们投入了足够的思想来让您轻松地扩展静态类型。为此,让我们request.ts在contracts文件夹内创建一个新文件。

打开新创建的文件,并将以下代码片段粘贴到其中。之后,TypeScpt将停止抱怨。

怎么运行的?

为了使任何对象或类都可扩展,必须将其键入接口。此概念也称为接口编程或松耦合代码。

接下来,您可以利用TypeScpt的声明合并功能来合并属于单个模块并具有相同名称的两个接口的属。

瞧,您已经成功扩展了类型。所有的Adonis代码库都是松散耦合的,可以以相同的方式进行扩展。

路由中间件路由中间件的工作方式与全局中间件相同,只是您在特定的路由上执行它们,而不是在每个HTTP请求上执行它们。

一个很好的选择是访问控制中间件,您只希望将其应用于路由的子集。为了演示,让我们创建一个中间件来有选择地实施访问控制。

第一步是在start/kernel.ts文件中创建并注册中间件。这次我们需要将其注册为命名中间件。

1、运行以下命令以创建新的中间件

2、打开新创建的中间件文件,将以下内容粘贴到该文件中。

3、将其注册为命名中间件。对象键是我们稍后将在路由上引用的别名,而对象值是中间件类的名称空间。

4、最后,创建一些虚拟路由以测试功能。

怎么运行的?路由中间件必须先使用Server.middleware.registerNamed方法进行注册,才能在路由上使用它。

调用时Route.middleware,可以通过用冒号:表达式分隔参数来将参数传递给中间件。

参数handle作为第三个参数传递给函数。

异常处理

Adonis允许您全局处理HTTP请求期间发生的异常。到本指南结束时,您将知道:

如何在单个位置捕获所有异常。

使用异常作为控制流。

提出可以处理自己的异常。

状态页,仅开发错误页等。

全局异常处理程序

全局异常处理程序位于app/Exceptions/Handler.ts文件内部。您可以通过编辑文件exceptionHandlerName内部的值来自定义其位置.adonisrc.json。

异常处理程序类扩展了Adonis/Core/HttpExceptionHandlerAdonis提供的。我们将要讨论的所有功能都是从基HttpExceptionHandler类继承的。

该handle方法

handle每当在HTTP请求周期内引发未处理的异常时,都会调用该方法。handle方法将接收一个错误对象以及HTTP上下文。

您可以让基本异常处理程序为您处理异常,除非您想手动处理特定的异常。例如:

该report方法

该report方法旨在报告/记录异常以进行调试。默认情况下,基本异常处理程序将使用应用程序记录器记录所有异常。但是,您也可以实现此方法,以其他方式手动处理报告。

错误报告

默认report方法将报告所有到达全局异常处理程序的异常。特别是在不需要对异常进行作时,获取有关每个异常的会很烦人。出于同样的原因,基本异常处理程序允许您将错误代码或状态代码列入报告黑名单。

所述ignoreCodes需要的错误代码的阵列,并且ignoreStatuses需要错误状态的阵列,以忽略。您可以根据自己的方便选择其中一个。

自我处理的例外

通过handle在异常类本身上定义方法,Adonis提供了一种引发可处理自身的异常的好方法。一个很好的例子是验证器提出的ValidationException。

您可以通过运行以下ace命令来创建自己的自定义异常。

在文本编辑器中打开新创建的文件并实现该handle方法。

最后,创建一个虚拟路由以测试异常行为。

如果访问http:// localhost:3333,则必须看到类似于以下屏幕截图的消息。

状态页

基本异常处理程序使您可以配置要针对特定状态代码呈现的模板。例如:定义404状态码模板和一系列500状态码模板。

errs.not-found每当引发带有状态代码的异常时,异常处理程序将呈现模板404。

使用范围表达式..,我们将errs.-err模板分配500给599状态代码。

默认情况下,状态页面不会在开发过程中呈现。但是,您可以使用disableStatusPagesInDlopmentflag将其打开。