📜  adonis 按关系排序 - Javascript (1)

📅  最后修改于: 2023-12-03 14:59:11.990000             🧑  作者: Mango

AdonisJS: 一个基于Node.js的MVC框架

AdonisJS是一个基于Node.js的MVC框架,它提供了许多内置的功能,使开发人员可以更快地开发Web应用程序、API和微服务。它使用ECMAScript 2017标准,通过易于学习的API使开发人员可以构建出灵活、可扩展的Web应用程序。

安装

在开始使用AdonisJS之前,您需要确保已经在系统上安装了Node.js和npm包管理器。在终端上运行以下命令安装Adonis CLI:

npm i -g @adonisjs/cli
创建一个新的Adonis项目

运行Adonis CLI命令来创建一个新的Adonis项目:

adonis new your-project-name
定义路由

AdonisJS的路由定义非常简单,您只需要在start/routes.js文件中定义路由,如下所示:

Route.get('/', ({ response }) => {
  response.send('Welcome to AdonisJS!');
});

在上面的代码中,我们定义了一个GET路由,它将请求发送到根目录,并响应“Welcome to AdonisJS!”。

控制器

在AdonisJS中,控制器是你的Web应用程序中处理请求的主要逻辑处理单元。 控制器被定义为类,并且可以通过以下方式定义:

class UserController {
  async index({ response }) {
    const users = await User.all();

    return response.json(users);
  }

  async store({ request, response }) {
    const data = request.only(['username', 'email', 'password']);

    const user = await User.create(data);

    return response.json(user);
  }
}

在上面的代码中,我们定义了一个名为UserController的控制器,并定义了两个方法:indexstore

index方法将获取所有用户,并将其作为JSON对象返回。store方法将在PostgreSQL数据库中创建一个新的用户,并将其返回。

模型

在AdonisJS中,模型是与数据库交互的主要方式。 您可以通过以下命令为PostgreSQL数据库创建一个名为“User”的模型:

adonis make:model User -m

在上面的代码中,我们使用“-m”标志创建一个数据库迁移脚本,以便我们可以在PostgreSQL数据库中创建一个名为“users”的表。

'use strict'

const Schema = use('Schema')

class UserSchema extends Schema {
  up () {
    this.create('users', (table) => {
      table.increments()
      table.string('username', 80).notNullable().unique()
      table.string('email', 254).notNullable().unique()
      table.string('password', 60).notNullable()
      table.timestamps()
    })
  }

  down () {
    this.drop('users')
  }
}

module.exports = UserSchema

在上面的代码中,我们定义了一个名为“UserSchema”的PostgreSQL迁移脚本,它将定义users表及其结构。

数据库连接

在AdonisJS中,您可以通过更改.env文件中的数据库连接选项来连接不同的数据库。例如,您可以更改以下行:

DB_CONNECTION=sqlite3

到以下行:

DB_CONNECTION=pg
DB_HOST=127.0.0.1
DB_PORT=5432
DB_USER=your-username
DB_PASSWORD=your-password
DB_DATABASE=your-database

这将更改数据库连接以连接到PostgreSQL数据库。

中间件

在AdonisJS中,中间件是用来处理请求/响应周期中的中间逻辑的,比如身份验证、日志记录等等。 您可以使用以下命令来创建一个名为“auth”的中间件:

adonis make:middleware auth

在上面的代码中,我们创建了一个名为“auth”的中间件,用于将请求与基于cookie的身份验证进行身份验证。

'use strict'

class Auth {
  async handle ({ request, response, auth }, next) {
    try {
      await auth.check()

      await next()
    } catch (error) {
      response.redirect('/login')
    }
  }
}

module.exports = Auth

在上面的代码中,我们定义了一个名为“Auth”的中间件,它将检查身份验证是否成功。 如果身份验证失败,它将重定向到网站的登录页面。

集成

AdonisJS允许您轻松地将您的项目与其他JavaScript库和框架集成在一起,包括React和Vue.js。 它还支持通过WebSocket进行实时通信。

结论

AdonisJS是一个功能强大的基于Node.js的MVC框架,可以帮助您更快地构建Web应用程序、API和微服务。 它提供了许多内置的功能,使开发人员可以快速构建出灵活的应用。 如果您还没有使用过这个框架,为什么不尝试一下呢?