1. Tiện ích TypeScript 

TypeScript sẽ đứng đầu danh sách khi nói đến các tiện ích của NestJS. Khả năng xác định các tham số cho hàm, kiểu cho biến, kiểu trả về cho hàm làm cho trải nghiệm của Dev trở nên tuyệt vời. Ngoài ra, bạn có thể dễ dàng sử dụng plugin của bên thứ ba để xác thực đầu vào cho điểm cuối, điều này đảm bảo rằng ứng dụng gọi điện cung cấp đúng dữ liệu cho điểm cuối ‘POST’ hoặc ‘PUT’ hoặc ‘PATCH’. Nếu đối tượng được cung cấp không có thông tin chính xác, Nest sẽ báo lỗi cho bạn. Bạn sẽ không thể nào bắt đầu dự án Javascripts mà không có nó. 

2. Cấu trúc dự án rõ ràng

Là một nhà phát triển Angular, bạn chắc hẳn đã quen với ý tưởng chia mã của mình thành các mô-đun theo tính năng và đặt mã liên quan đến tính năng đó vào thư mục của mô-đun. NestJS cũng theo mô hình đó. Giả sử bạn đang tạo các điểm cuối để tạo, cập nhật, nhận và xóa các bài đăng trên blog. Tất cả các điểm cuối này có thể sẽ bắt đầu bằng /post. Định nghĩa rout nếu chúng ta viết ra, có thể trông như thế này: 

Mỗi điểm cuối này có liên quan với nhau và sẽ được đặt bên trong PostController của PostModule. Điều này cho phép bạn tách mã liên quan đến tính năng và tách biệt mã khỏi các thay đổi ở nơi khác. Một điểm tương đồng khác với cấu trúc của ứng dụng Angular là việc truy cập dữ liệu, như đọc và ghi vào cơ sở dữ liệu, xảy ra trong một dịch vụ. Điều này giúp bộ điều khiển tập trung vào việc xử lý yêu cầu, sau đó chuyển trách nhiệm lấy dữ liệu sang một tệp khác. Sự tách biệt giữa các vấn đề này là điều mà NestJS làm người dùng thích thú. 

3. Đường ống Pipes và thiết bị chặn

Giống như có các đường ống  Pipes và thiết bị chặn trong ứng dụng Angular của bạn, chúng tồn tại trong ứng dụng Nest.js. Ví dụ bạn đang làm việc trên một dự án chấp nhận số điện thoại từ ứng dụng giao diện người dùng để lưu trữ trong cơ sở dữ liệu. Bạn muốn đảm bảo rằng thông tin duy nhất được lưu trữ trong trường số điện thoại là các số. Bạn không muốn dấu gạch ngang hoặc dấu ngoặc đơn nên đã tạo một đường ống xem xét đối tượng đến, tìm số điện thoại và sau đó chạy chức năng thay thế trên chuỗi. Điều này dẫn đến số điện thoại chỉ là chữ số. 

Các thiết bị chặn trong Nest.js cũng có thể hoạt động theo cách tương tự như trong Angular. Ví dụ: bạn có thể sử dụng thiết bị chặn để đảm bảo rằng cuộc gọi đến có mã thông báo và mã đó hợp lệ. Nếu vậy, yêu cầu được cho phép thông qua. Nếu không, nó sẽ bị từ chối

4. Lợi ích đặc biệt tham khảo thêm từ Nest

TypeORM không dành riêng cho Nest nhưng đã được đề xuất thông qua khóa học “Tìm hiểu NestJS”. Có thể giao tiếp với cơ sở dữ liệu mà không cần phải biết các chi tiết khó nhằn về kết nối, đọc và viết thực sự rất tiện lợi.

Về việc sử dụng trình biến đổi lớp và trình xác thực lớp khi được sử dụng kết hợp với TypeORM, việc xác định DTO và thực thể đảm bảo rằng dữ liệu được gửi tới ứng dụng khớp với một mẫu nhất định được xác định trước. Nếu PersonDTO của bạn mong đợi một FirstName và bạn không cung cấp nó, thì Nest.js sẽ đưa ra phản hồi ‘400 Bad Request”. Điều tương tự cũng xảy ra nếu bạn chuyển một số thay vì một chuỗi. 

Nest.js là một công cụ tuyệt vời để xây dựng các ứng dụng và API TypeScript phụ trợ. Đó là một sản phẩm tiện lợi, hiện đại, được sử dụng tốt và được ghi chép đầy đủ. Nó nhanh và phát triển cũng rất nhanh. Có rất ít chuyển đổi ngữ cảnh để bạn chuyển từ xây dựng ứng dụng Angular sang xây dựng phụ trợ cho ứng dụng Angular của bạn. 

VietnamWorks inTECH