https://adonisjs.com/docs/4.1/about
AdonisJs là một Node.js MVC framework
Hỗ trợ thêm một số thành phần quan trọng như:
- Hỗ trợ SQL ORM, bảo mật SQL queries.
- Hỗ trợ API & Session dựa trên hệ thống xác thực được cấu hình sẵn.
- Hỗ trợ cấu hình send mail thông qua SMTP hoặc Web Service (Mailgun, Mandrill, etc.)
- Kiểm duyệt mỗi input mà user gửi vào hệ thống
- Hỗ trợ bảo mật nhiều lớp
- Mở rộng application layout dễ dàng
Adonis hỗ trợ rất tốt cho những DB như: PostgreSQL, SQLite, MySQL, MariaDB, Oracle, MSSQL.
Nếu muốn kết nối với các cơ sở dữ liệu NoSQL như MongoDB
thì phải sử dụng đến những provider của bên thứ 3. Chẳng hạn như:
adonis-mongorito
adonis-lucid-mongodb.
## Tạo mới một dự án
npm i -g adonis-cli
adonis new adonis_common
cd adonis_common
adonis serve --dev
Kiểm tra adonis version: adonis --version
## Cấu trúc thư mục
├── app: chứa các thành phần chính của ứng dụng
│ ├── Commands: lưu các CLI commands.
│ ├── Controllers: lưu Http và WebSocket controllers.
│ ├── Exceptions: Xử lý các ngoại lệ, lỗi.
│ ├── Listeners: Lưu các file event listeners.
│ ├── Middleware: Xử lý trước/sau mỗi request được gửi đến.
│ ├── Models: lưu các file kết nối và xử lý dữ liệu với Database.
│ ├── Validators: kiểm tra các request có đúng chuẩn hay không.
├── config: chứa config database, session, auth, mail...
├── database: chứa các file migration, seeder, factory để khởi tạo dữ liệu nền
│ ├── migrations: tạo bảng mới, chỉnh sửa một bảng(thêm cột, xóa cột..)
│ └── seeds: tạo các dữ liệu cơ bản của ứng dụng
│ └── factory.js
├── public: chứa các thành phần tĩnh của dự án như images, css, javascript
├── resources: nơi chứa view, sử dụng view engine Edge
│ └── views
├── storage: nơi chứa file biên dịch template, session hoặc các file log của hệ thống
├── start: nơi chứa các file dùng khởi tạo apps, đăng kí app như app.js, hooks.js, routes.js
├── test
├── ace
├── server.js
└── package.json
Chú ý:
- Tất cả các file lưu trong thư mục app đều được load tự động và có namespace chung là App.
- Thư mục public được mapping với thư mục gốc của website
<!-- file vật lý lưu ở /public/style.css -->
<link rel="stylesheet" href="/style.css" />
- Thư mục resources chuyên dùng để lưu tất cả các file liên quan đến view templates,
LESS/SASS files, uncompiled JavaScript, or even images.
## Providers
AdonisJs là một modular framework mà bao gồm nhiều service providers
để xậy dựng nên các thành phần trong ứng dụng.
Ví dụ: BodyParser để đọc HTTP request body, or Lucid hỗ trợ kết nối SQL thông qua ORM
## Request Flow
Một HTTP request đến server sẽ được xử lý bởi `server module`,
sau đó thực thi tất cả các `serverMiddleware`.
-->
Sau đó nữa nó được xủ lý tiếp bởi `Router module`.
Ở đây sẽ tìm tất cả các route mà tương thích với request.
Nếu không có route nào tương ứng một RouteNotFound exception sẽ được ném ra.
-->
Sau khi tìm được một route tương thích, tất cả các `globalMiddleware` và `namedMiddleware`
chạy kèm route đó sẽ được xử lý.
Nếu không có bất kì lỗi nào thì route handler sẽ được gọi và xử lý request.
Không có nhận xét nào:
Đăng nhận xét