百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

专注于易用性与速度的Nodejs Web和微服务框架——Adonis

ccwgpt 2024-09-29 09:47 35 浏览 0 评论

介绍

AdonisJs是一个全栈的Web框架,主要关注易用性和速度。它处理了很多Web开发问题,为你提供了一个干净而稳定的API来构建Web应用程序和微服务。依据官方描述,它可以提升开发者的自信,更加易于开发!可以说它是一个专注于开发者身心的框架。



Github

https://github.com/adonisjs/adonis-framework

快速开始



1、全局安装脚手架

npm i -g @adonisjs/cli

2、创建新的项目

adonis new yardstick

3、进入项目目录

cd yardstick


4、启动项目

adonis serve --dev


系统要求

1、框架的唯一依赖项是Node.js和npm.

  • Node.js >= 8.0.0
  • npm >= 3.0.0

你可以使用这样的工具NVM以帮助同时管理Node.js和NPM的多个版本。

2、目录结构



  • app

app目录是应用程序逻辑的主目录。它是在名称空间App下自动加载的。

  • config

config目录用于定义应用程序的配置。AdonisJs附带了许多配置文件,但您可以随意创建自己的配置文件。

  • database

database目录用于存储所有与数据库相关的文件。

  • public

用于通过HTTP提供静态资源。此目录映射到网站的根目录:

<link rel="stylesheet" href="/style.css" />
  • resources

resources目录用于存储应用程序的资源目录,如视图模板、LESS/SAS文件、未编译的JavaScript,甚至图像。

  • start

Start目录用于存储在应用程序启动时加载的文件。默认情况下,会提供app.js、kernel.js和processes.js。

  • test

test目录用于存储所有应用程序测试。默认情况下,测试包不包括根据定义的说明安装它。

下面单独介绍app目录:

app/Commands:

这个app/Commands目录用于存储所有CLI命令。运行时,将自动创建此目录。adonis make:command <name>.

app/Controllers:

这个app/Controllers目录用于存储所有Http和WebSocket控制员。运行时,将自动创建此目录。adonis make:controller <name>.

app/Exceptions:

这个app/Exceptions目录用于存储全局异常处理程序和所有自定义异常。运行时,将自动创建此目录。adonis make:ehandler或adonis make:exception <name>.

app/Listeners:

这个app/Listeners目录用于存储所有事件侦听器。运行时,将自动创建此目录。adonis make:listener <name>.

app/Middleware:

这个app/Middleware目录用于存储所有中间件。运行时,将自动创建此目录。adonis make:middleware <name>.

app/Models:

这个app/Models目录用于存储所有模型。运行时,将自动创建此目录。adonis make:model <name>.

app/Validators:

这个app/Validators目录用于存储所有路由验证器。运行时,将自动创建此目录。adonis make:validator <name>。

3、配置提供

AdonisJs使用config目录,其中所有文件都在启动时加载。

const Config = use('Config')
const appSecret = Config.get('app.appSecret')

配置值将使用Config.get,它接受引用窗体中所需键的字符串参数。fileName.key,甚至是嵌套的,如下示例:

// 配置文件的示例,例如database.js
{
 mysql: {
 host: '127.0.0.1',
 },
}
// 这样得到它的值
Config.get('database.mysql.host')

如果不确定配置中是否定义了键,则可以提供第二个参数,该参数将作为默认值返回:

Config.get('database.mysql.host', '127.0.0.1')

如果要更改内存中的配置值,请使用Config.set:

Config.set('database.mysql.host', 'db.example.com')


框架提供了开发环境的配置



总结

Adonis是一个不错的框架,框架的理念是让开发者找到自信,身心更加健康,详细的用法和说明文档,大家可以移步Github和文档,上面会有详细的介绍,Enjoy it!



相关推荐

Python+ Appium:Android手机连接与操作详解(附源码)

在移动端自动化测试领域,Appium一直是最热门的开源工具之一。今天这篇文章,我们聚焦Android端自动化测试的完整流程,从环境配置到代码实战,一步一步带你掌握用Python控制Android...

全平台开源即时通讯IM框架MobileIMSDK开发指南,支持鸿蒙NEXT

写在前面在着手基于MobileIMSDK开发自已的即时通讯应用前,建议以Demo工程为脚手架,快速上手MobileIMSDK!Demo工程主要用于演示SDK的API调用等,它位于SDK完整下载包的如下...

移动开发(一):使用.NET MAUI开发第一个安卓APP

对于工作多年的C#程序员来说,近来想尝试开发一款安卓APP,考虑了很久最终选择使用.NETMAUI这个微软官方的框架来尝试体验开发安卓APP,毕竟是使用VisualStudio开发工具,使用起来也...

在安卓系统上开发一款软件详细的流程

安卓app软件开发流程是一个系统而复杂的过程,涉及多个阶段和环节。以下是一个典型的安卓软件开发流程概述:1.需求分析目的:了解用户需求,确定APP的目标、功能、特性和预期效果。活动:开发团队与客户进...

ArkUI-X在Android上使用Fragment开发指南

本文介绍将ArkUI框架的UIAbility跨平台部署至Android平台Fragment的使用说明,实现Android原生Fragment和ArkUI跨平台Fragment的混合开发,方便开发者灵活...

Web3开发者必须要知道的6个框架与开发工具

在Web3领域,随着去中心化应用和区块链的兴起,开发者们需要掌握适用于这一新兴技术的框架与开发工具。这些工具和框架能够提供简化开发流程、增强安全性以及提供更好的用户体验。1.Truffle:Truff...

Python开发web指南之创建你的RESTful APP

上回我们说到了:PythonFlask开发web指南:创建RESTAPI。我们知道了Flask是一个web轻量级框架,可以在上面做一些扩展,我们还用Flask创建了API,也说到了...

python的web开发框架有哪些(python主流web框架)

  python在web开发方面有着广泛的应用。鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题。为此,我特此对比较常见的几种框架从性能、使用感受以及应用情况进行一个粗略的分析。  1Dja...

Qwik:革新Web开发的新框架(webview开源框架)

听说关注我的人,都实现了财富自由!你还在等什么?赶紧加入我们,一起走向人生巅峰!Qwik:革新Web开发的新框架Qwik橫空出世:一场颠覆前端格局的革命?是炒作还是未来?前端框架的更新迭代速度,如同...

Python中Web开发框架有哪些?(python主流web框架)

Python为Web开发提供了许多优秀的框架。以下是一些流行的PythonWeb框架:1.Django:一个高级的Web框架,旨在快速开发干净、实用的Web应用。Django遵...

WPF 工业自动化数据管控框架,支持热拔插 DLL与多语言实现

前言工业自动化开发中,设备数据的采集、处理与管理成为提升生产效率和实现智能制造的关键环节。为了简化开发流程、提高系统的灵活性与可维护性,StarRyEdgeFramework应运而生。该框架专注...

[汇川PLC] 汇川IFA程序框架06-建立气缸控制FB块

前言:汇川的iFA要跟西门子对标啦,这可是新的选择!就在2月14日,汇川刚发布的iFA平台,一眼就能看出来是对标西门子的全集成自动化平台博途(TIAPortal)。这个平台能在同一个...

微软发布.NET 10首个预览版:JIT编译器再进化、跨平台开发更流畅

IT之家2月26日消息,微软.NET团队昨日(2月25日)发布博文,宣布推出.NET10首个预览版更新,重点改进.NETRuntime、SDK、libraries、C#、AS...

大模型部署革命:GGUF量化+vLLM推理的极致性能调优方案

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在官网-聚客AI学院大模型应用开发微调项目实践课程学习平台一、模型微调核心概念与技术演进1.1微调的本质与优势数学表达:1....

拓扑学到底在研究什么?(拓扑学到底在研究什么问题)

拓扑是“不量尺寸的几何学”,那么它的核心内容,主要方法是什么?如果你问罗巴切夫斯基,他会说“附贴性是物体的一个特殊的属性。如果我们把这个性质掌握,而把物体其他的一切属性,不问是本质的或偶然出现的,均不...

取消回复欢迎 发表评论: