Tin tức và phân tích của tất cả các thiết bị di động

Giới thiệu về NestJS [+6 Learning Resources]

NestJS là một khung Node.js tiến bộ để xây dựng các ứng dụng phía máy chủ có thể mở rộng, hiệu quả và đáng tin cậy.

NestJS được xây dựng để loại bỏ các cơ sở mã vô tổ chức. Cấu trúc mô-đun của nó giúp bạn dễ dàng sắp xếp mã của mình thành các mô-đun khác nhau.

NestJS được xây dựng trên TypeScript và sử dụng ExpressJS cơ bản. NestJS được yêu thích bởi các nhà phát triển muốn khai thác sức mạnh kiểm tra kiểu của TypeScript. NestJS kết hợp nhiều khía cạnh khác nhau của lập trình phản ứng chức năng (FRP), lập trình hướng đối tượng (OOP) và lập trình chức năng (FP).

Tại sao NestJS?

NestJS thân thiện với người mới bắt đầu vì nó có cấu trúc tốt và các công cụ giao diện dòng lệnh (CLI) dễ sử dụng. Do đó, các nhà phát triển có thể tạo khung của một tính năng mới bằng một lệnh duy nhất bằng cách sử dụng khung Node.js này.

NestJS cung cấp mô-đun, dịch vụ, bộ điều khiển và ngăn xếp thử nghiệm để giúp bạn bắt đầu. Bạn cũng có thể sử dụng nhiều mẫu và mẫu tạo sẵn để tạo điều kiện thuận lợi cho quá trình sáng tạo của bạn.

Quá trình học tập của NestJS sẽ dễ dàng đối với những người quen thuộc với vòng lặp, cú pháp và điều kiện trong JavaScript và Angular.

Tính năng của NestJS

Được xây dựng trên bản đánh máy

NestJS được xây dựng trên TypeScript, JavaScript siêu ký tự. TypeScript cung cấp môi trường phát triển tốt hơn vì bạn không phải kiểm tra lỗi thủ công mỗi khi thay đổi nội dung nào đó trong mã của mình. Typescript về cơ bản cung cấp tất cả các tính năng của JavaScript nhưng cũng bao gồm một số tính năng bổ sung.

Vùng chứa phụ thuộc

Tính năng chèn phụ thuộc tách rời việc khởi tạo các đối tượng được một lớp sử dụng khỏi chính lớp đó. Trong trường hợp này, lớp được gọi là “máy khách” và các phần phụ thuộc của lớp được gọi là “dịch vụ”. Chính DI tích hợp trong NestJS giúp các ứng dụng trở nên mạnh mẽ và có tính mô-đun hơn.

Giao diện dòng lệnh mạnh mẽ (CLI)

Bạn có thể khởi tạo, phát triển và duy trì tất cả các ứng dụng NestJS của mình bằng NestCLI. Ví dụ: có rất nhiều điều bạn có thể làm với Nest CLI;

  • giàn giáo công trình
  • Hỗ trợ dự án ở chế độ phát triển
  • Xây dựng và đóng gói ứng dụng để phân phối sản xuất

mô-đun hóa

Mỗi ứng dụng NestJS đều có ít nhất một mô-đun. Mô-đun “root” là cơ bản nhất. Trong một ứng dụng NestJS điển hình, mọi phần logic của ứng dụng sẽ nằm trên cùng một ranh giới miền (mô-đun). Sự sắp xếp này giúp tổ chức các thành phần dễ dàng hơn trong đó ứng dụng sẽ có nhiều mô-đun với các bộ khả năng liên quan chặt chẽ với nhau.

Kiểm tra đơn vị

Kiểm tra tự động có nhiều lợi thế. Tuy nhiên, quá trình thiết lập các thử nghiệm như vậy có thể phức tạp hơn nhiều. NestJS có nhiều tính năng khác nhau để giúp các nhóm xây dựng và tự động hóa các bài kiểm thử. Điều thú vị về NestJS là bạn có thể sử dụng nó với nhiều công cụ kiểm tra khác nhau. Hệ thống chèn phần phụ thuộc Nest được cung cấp trong quá trình thử nghiệm để lấy mẫu thành phần dễ dàng.

Chất chủ vận cơ sở dữ liệu

Bạn có thể dễ dàng tích hợp với bất kỳ cơ sở dữ liệu SQL hoặc NoSQL nào tùy theo nhu cầu và sở thích của bạn khi làm việc với NestJS. Việc kết nối NestJS với cơ sở dữ liệu của bạn rất dễ dàng vì bạn chỉ cần tải trình điều khiển Node.js thích hợp.

Nó hỗ trợ nhiều thư viện khác nhau

NestJS tương thích với nhiều công cụ khác nhau, giúp tăng tốc độ phát triển ứng dụng. Khung này hỗ trợ ghi nhật ký, xác thực, lưu vào bộ đệm, WebSockets, TypeORM, Mongoose và GraphQL mà không cần cấu hình bổ sung.

Kiến trúc và quy trình làm việc của NestJS

NestJS có 3-kiến trúc phân lớp bao gồm bộ điều khiển, nhà cung cấp và mô-đun. Do đó, các nhà phát triển có thể tạo mã sạch không trùng lặp.

Nguồn hình ảnh: lập trình tốt hơn

Bộ điều khiển

Bộ điều khiển trong NestJS đóng vai trò là cầu nối giữa yêu cầu và phản hồi của khách hàng. Cơ chế định tuyến sẽ luôn chuyển hướng yêu cầu đến bộ điều khiển thích hợp bất cứ khi nào yêu cầu HTTP được gửi. Khung này sử dụng các trình trang trí và các lớp để tạo bộ điều khiển. Mỗi phương thức lớp sau đó được ánh xạ tới các tuyến đường để nhận được một yêu cầu cụ thể.

các nhà cung cấp

Nhà cung cấp có thể được định nghĩa là nền tảng của NestJS. Các nhà cung cấp được đưa vào dưới dạng phụ thuộc và tạo mối quan hệ giữa các đối tượng khác nhau. Các lớp trong NestJS, chẳng hạn như trình trợ giúp, dịch vụ và kho lưu trữ, có thể được coi là nhà cung cấp bằng cách thêm trình trang trí `@Injectable()`. Các nhà cung cấp như vậy cũng có thể được đưa vào một lớp bằng cách sử dụng hàm tạo và NestJS sẽ giải quyết các phần phụ thuộc.

Mô-đun

Một mô-đun trong NestJS tập hợp một tập hợp các khả năng có liên quan chặt chẽ với nhau. Mọi ứng dụng NestJS đều có một mô-đun gốc được sử dụng làm điểm vào. Nên sử dụng nhiều mô-đun nếu bạn muốn mã có cấu trúc và dễ đọc. Trình trang trí Nest `@Module()` xác định một mô-đun và cũng cung cấp thông tin như các phần phụ thuộc, bộ điều khiển và nhà cung cấp hoạt động với mô-đun đó.

Những bước đầu tiên với NestJS

Đảm bảo Node.js và npm đã được cài đặt. Bạn cần một thời gian chạy và Node.js là lựa chọn hoàn hảo cho thiết lập này. Bạn cần phiên bản >= 12 ngoại trừ v13. Bạn có thể kiểm tra xem bạn đã cài đặt Node.js và npm hay chưa bằng các lệnh này;

node -v
npm -v

Nếu cả hai được cài đặt, bạn sẽ nhận được kết quả gần như thế này

Nếu bạn không có chúng, hãy cài đặt chúng thông qua trang web chính thức. May mắn thay, cả Node.js và npm đều được cài đặt cùng nhau.

  • Cài đặt Nest CLI. Sử dụng các lệnh sau để đặt CLI và dự án;
npm i -g @nestjs/cli
nest new project-name

Chúng tôi chọn tên dự án là mynestapp cho mục đích demo. NestJS cung cấp cho bạn tùy chọn để làm việc với TypeScript hoặc Vanilla JavaScript. Chọn những gì phù hợp với bạn và nhấn Enter. Sau khi ứng dụng được tạo khung, cấu trúc tệp sẽ được thiết lập và thư mục “src” sẽ chứa một số tệp cốt lõi như trong ảnh chụp màn hình này

  • Khởi chạy ứng dụng/thế giới xin chào đầu tiên của bạn

Sau khi cài đặt hoàn tất, hãy chạy các lệnh này để khởi động máy chủ phát triển

cd mynestapp
npm run start

Nhập http://localhost:3000/ vào trình duyệt của bạn và “Hello World” đầu tiên của bạn trên NestJs sẽ được hiển thị

NestJS: Lợi ích

  • Dễ học. Thật dễ dàng để thành thạo NestJS, đặc biệt nếu bạn là Angular hoặc có hiểu biết về JavaScript nói chung. Tài liệu chi tiết cũng giúp bạn dễ dàng làm chủ cách làm việc với framework mạnh mẽ này.
  • Đàn hồi. Bạn có thể xây dựng nhiều thứ với NestJS. Với khung Node.js này, bạn có thể xây dựng các ứng dụng MVC, ứng dụng GraphQL, API RESTful và ổ cắm web.
  • Nó chứa hàng ngàn mô-đun. Các mô-đun được cộng đồng hỗ trợ giúp nhà phát triển dễ dàng cấu trúc các chức năng khác nhau khi phát triển ứng dụng phía máy chủ.
  • Phát triển nhanh và kiến ​​trúc tốt. Khi làm việc với NestJS, bạn không phải tạo mọi thứ từ đầu. Tuy nhiên, cùng một framework có kiến ​​trúc mạnh mẽ giúp mã dễ hiểu hơn.

NestJS: Nhược điểm

  • Không thuận lợi cho những người có môi trường TypeScript và Angular. NestJS vay mượn rất nhiều từ kiến ​​trúc Angular và những người không có kiến ​​thức như vậy có thể cần thời gian để hiểu cú pháp và cấu trúc.
  • Thiếu ở một số khu vực. NestJS vẫn còn non trẻ và có thể không cạnh tranh thuận lợi với một số khung dựa trên Python và GO đã có uy tín.

Các công ty sử dụng NestJS

# 1. giày thể thao

Adidas, nhà sản xuất và thiết kế giày, là một trong những công ty sử dụng NestJS. Các tính năng tuyệt vời của NestJS chắc hẳn đã thu hút gã khổng lồ giày dép này sử dụng nó trong văn phòng hỗ trợ của họ.

#2. Capgemini

Capgemini là một công ty tư vấn, công nghệ, gia công phần mềm và dịch vụ chuyên nghiệp đa quốc gia của Pháp. Công ty này sử dụng NestJS trong kho công nghệ của họ.

#3. Roche

Roche là một công ty chăm sóc sức khỏe quốc tế có hai bộ phận; dược phẩm và chẩn đoán. Roche sử dụng NestJS làm một trong những kho công nghệ trên trang web chính của mình.

Phương pháp giáo dục

# 1. NestJS từ con số 0 trở thành anh hùng

NestJS Zero to Hero hướng dẫn các nhà phát triển cách xây dựng và triển khai các ứng dụng phụ trợ doanh nghiệp bằng TypeScript và Node.js. Khóa học này dạy cách tạo API, ủy quyền và xác thực, kiểm tra đơn vị ứng dụng Nest và TypeORM để tương tác với cơ sở dữ liệu.

#2. NestJS: Hướng dẫn đầy đủ dành cho nhà phát triển

Khóa học này hướng dẫn các nhà phát triển cách tạo API phụ trợ bằng Nest, TypeScript và TypeORM. Hướng dẫn đầy đủ này bao gồm mọi thứ bạn cần từ việc thiết lập mã hóa, thử nghiệm và triển khai ứng dụng NestJS. Bạn cũng sẽ hiểu được hậu trường của khung web NestJS.

#3. Bậc thầy NestJS

Master NestJS dạy bạn cách xây dựng các ứng dụng Node.js cấp doanh nghiệp bằng TypeScript. Khóa học này dạy về xác thực và tuần tự hóa dữ liệu, hoạt động của mã thông báo JWT, cách sử dụng NestCLI và tính năng trừu tượng hóa cơ sở dữ liệu hiện đại.

#4. NestJs trong thực tế (với MongoDB)

Chương trình thực hành NestJS dạy mọi thứ bạn cần tìm hiểu về NestJS, từ Mô-đun, Bộ điều khiển, Dịch vụ bảo vệ, Đường ống và Phần mềm trung gian. Khóa học áp dụng cách tiếp cận dựa trên dự án, trong đó bạn viết mã và lưu trữ mã của mình trên GitHub với các tệp ZIP có thể tải xuống cho từng phần.

#5. Nest.js: Khung Node.js tiến bộ

Cuốn sách này giới thiệu cho các nhà phát triển về NestJS và hướng dẫn cách sử dụng JavaScript và TypeScript. Cuốn sách được thiết kế theo định dạng hướng dẫn để đảm bảo rằng bạn có thể thiết lập và chạy ứng dụng NestJS của mình ngay lập tức.

#6. Nest.js thực tế: Tạo ứng dụng web MVC thuần túy

Cuốn sách thực tế Nest.js sử dụng phương pháp thiết kế để tạo ra một ứng dụng cửa hàng trực tuyến sử dụng nhiều tính năng khác nhau của NestJS. Cuốn sách bao gồm các cuộc thảo luận ngắn, mẹo và cụm từ để phát triển ứng dụng NestJS.

Ứng dụng

Ngoài việc là một framework Node.js mạnh mẽ, NestJS còn là một trong những framework TypeScript phổ biến nhất cho các ứng dụng máy chủ hiện nay. Việc nó cung cấp các phương pháp mã hóa tốt nhất và kiến ​​trúc phát triển tiêu chuẩn đã khiến nó thu hút nhiều kỹ sư muốn tập trung vào việc xây dựng logic nghiệp vụ khi phát triển ứng dụng.