Adonis JS – фреймворк для Node.js

Adonis JS – фреймворк для Node.js

Сайтодел

Adonis JS – это веб-инфраструктура Node.js, созданная на JavaScript. Фреймворк поддерживается основными операционными системами и работает по схеме MVC (модель - представление - контроллер). С помощью Adonis JS вы можете создавать серверную часть веб-приложений.

Adonis JS применяет в работе систему шаблонов Edge, которая проста и понятна в использовании. Помимо Node.js, фреймворк теперь работает еще и на Typescript. В Adonis JS есть система ORM с именем Lucid, которая представляет собой интерфейс для связи между моделями приложения и базой данных.

В этом уроке вы узнаете, как:

1) Установить Adonis JS;

2) Использовать системы шаблонов Edge;

3) Создавать базу данных.

1) Как установить Adonis JS?

На ваше устройство необходимо установить Adonis CLI и все необходимые пакеты.

С помощью CLI вы сможете создать структуру проекта и сгенерировать шаблоны контроллеров и необходимых элементов для приложения. CLI также поможет создать базу данных для проекта.

Введите следующую команду для глобальной установки Adonis JS CLI на устройстве при помощи npm:

npm i -g @adonisjs/cli

Как только процесс установки завершится, просмотрите текущую версию Adonis JS в терминале:

adonis --version

Вы увидите номер, который показывает текущую версию AdonisJs:

Output
4.1.0

Фреймворк успешно установлен! Теперь в терминале можно применять команду adonis, чтобы устанавливать новые проекты, управлять ими и генерировать новые файлы.

2) Как использовать системы шаблонов Edge?

Adonis JS имеет свою собственную систему шаблонов Edge, благодаря чему можно создавать многоразовые шаблоны HTML и вносить в разработку логические решения клиентской части с маленьким количеством кода.

Edge позволяет при разработке приложений на JavaScript использовать инструменты на базе компонентов. Файлы шаблонов сохраняются с расширением .edge.

Для корректной работы приложению необходимы следующие представления: генеральный макет, страница входа, представление указателя, страницы регистрации, создания, просмотра и редактирования цитат.

Для того чтобы создать генеральный макет, используйте команду adonis:

adonis make:view layouts/master

Результат:

Output
✔ create resources/views/layouts/master.edge

После этого автоматически создатся файл master.edge в папке resources/views/layouts. Откройте этот файл:

nano resources/views/layouts/master.edge

Поместите в него нужный код:

В этот файл необходимо поместить файлы CDN для Bootstrap CSS, Bootstrap JavaScript и jQuery.

3)    Как создать базу данных?

Если запустить приложение, не подключив базу данных, оно не будет работать. В Adonis JS включена модель Lucid ORM, которая реализует активные записи для работы с базами данных. Именно поэтому вам не нужны будут SQL-запросы.

Чтобы получить цитаты из приложения, запустим следующую команду:

const quotes = await Quote.all()

Чтобы дальше настраивать базу данных приложения, необходим создать в корневой директории файл .env:

nano .env

Добавим в этот файл содержание:

Далее необходимо создать модель и файл миграции для Quote при помощи Adonis CLI:

adonis make:model Quote --migration

Результат будет такой:

Output
✔ create app/Models/Quote.js
✔ create database/migrations/1568209992854_quote_schema.js

Создастся файл.

Обновим его содержимое, используя следующий код:

В AdonisJs уже установлена модель User и ее файл миграции. Необходимо только ввести небольшие изменения, чтобы установить отношения между моделями User и Quote.

Откроем модель User в app/Models/User.js:

app/Models/User.js      

Добавим этот метод сразу же после метода tokens():

Сохраним файл и закроем.

 Выполним метод up() для всех файлов миграции:

adonis migration:run

Результат будет примерно следующий:

Output
migrate: 1503248427885_user.js
migrate: 1503248427886_token.js
migrate: 1568209992854_quote_schema.js
Database migrated successfully in 3.42 s

Соединение с базой данных настроено и защищено. 

Надеемся, что статья была интересной и полезной. Применяйте знания в своей практике и не забудьте подписаться на наш канал!

До скорой встречи!

Ссылка на канал: https://t.me/sitodel



Report Page