• Privacy Policy
Chia sẻ kiến thức công nghệ
  • Home
  • Lập trình
  • Chia sẻ
  • Blog
No Result
View All Result
  • Home
  • Lập trình
  • Chia sẻ
  • Blog
No Result
View All Result
Duy PT Blog
No Result
View All Result
Home NodeJS

Tổng quan NestJS và cài đặt

Duy Solo by Duy Solo
August 28, 2021
in NodeJS
Reading Time: 4 mins read
A A
Share on FacebookShare on Twitter

Mục lục

  1. NestJS cung cấp sẵn những đồ chơi nào cho anh em?
  2. Cài đặt
    1.  
    2. Clone từ starter project
    3.  
    4. Sử dụng Nest CLI
  3. Kết

Trong nhiều năm trở lại đây, cùng với sự phát triển của NodeJS, Javascript đã trở thành một ngôn ngữ lập trình tuyệt vời cho cả phía server-side và client-side. Đi kèm với sự phát triển mạnh mẽ của NodeJS là sự ra đời của hàng tá các framework khác nhau. Tuy nhiên, chưa có một framework nào giải quyết được triệt để vấn đề căn bản của NodeJS – đó chính là Infrastructure. 

NodeJS cũng như Javascript đem lại sự thoải mái cho developers với cung cách “code sao cũng chạy”. Tuy nhiên, điều đó sẽ dẫn tới ác mộng khi dự án phình to hay làm việc với một team lớn, một dự án với nhiều thành phần phức tạp, hoặc những dự án cần mở rộng liên tục.

Nest cung cấp một kiến ​​trúc tuyệt vời cho phép developers cũng như các teams tạo ra các ứng dụng testable, scalable, giảm thiểu phụ thuộc lẫn nhau và dễ dàng bảo trì. Kiến trúc này được lấy cảm hứng từ Angular, dĩ nhiên rồi, ông co-founder cũng như developer chính cho dự án là chuyên gia lập trình của Google.

NestJS là sự kết hợp tốt nhất cho thiết kế lập trình hướng đối tượng (OOP) và phản ứng chức năng (FRP). Do đó, nó có khả năng tăng gấp đôi năng suất làm việc của developers cũng như hiệu suất ứng dụng, đồng thời tiết kiệm nhiều thời gian quý báu.

 

NestJS cung cấp sẵn những đồ chơi nào cho anh em?

  • Được xây dựng hoàn toàn trên Typescript, tuy nhiên ai rảnh cũng có thể dùng Javascript thuần nếu muốn.
  • Kiến trúc module hóa hoàn toàn, giúp giảm thiểu sự phụ thuộc lẫn nhau cùng khả năng tái sử dụng code dễ dàng hơn.
  • Ứng dụng mô hình MVC truyền thống kèm theo Dependency Injection cực kỳ thân thiện cho các developers đã từng biết Angular ^_^.
  • Cung cấp một hệ sinh thái modules có sẵn cho bạn. Cái gì bạn cần, nó đều có. Cái gì nó không có ư? Ok, nó cung cấp các methods giúp bạn sử dụng hầu hết các NodeJS packages khác.
    • GraphQL
    • Web Sockets
    • Redis
    • RabbitMQ
    • Kafka
    • …
  • Dễ dàng tích hợp với các framework khác như Express và Fastify.

Đây là những thứ mình cực kỳ thích ở NestJS. Thứ bạn cần quan tâm là business logic và code sao cho đúng chuẩn, còn Infrastructure đã có người khác lo. Yên tâm ha ^_^.

 

Cài đặt

Để bắt đầu một dự án NestJS, bạn có thể sử dụng Nest CLI hoặc clone một starter project từ github.

 

Clone từ starter project

$ git clone https://github.com/nestjs/typescript-starter.git demo-nestjs
$ cd demo-nestjs
$ npm install
$ npm run start

 

Sử dụng Nest CLI

$ npm i -g @nestjs/cli
$ nest new demo-nestjs

Ở bước này, bạn có thể chọn yarn hoặc npm làm packages manager.

Nest CLI sẽ tạo ra cho bạn một project mới có cấu trúc như sau

src
  ├──app.controller.spec.ts
  ├──app.controller.ts
  ├──app.module.ts
  ├──app.service.ts
  ├──main.ts
test
  ├──app.e2e-spec.ts
  ├──jest-e2e.json
.eslintrc.js
.gitignore
.prettierrc
nest-cli.json
package.json
package-lock.json
README.md
tsconfig.build.json
tsconfig.json
  • src: thư mục gốc của dự án.
  • test: nơi chứa các file test e2e.
  • nest-cli.json: cấu hình Nest CLI.
  • tsconfig.json: cấu hình Typescript transpiler.

 

Sau đó chạy lệnh sau để khởi chạy ứng dụng

$ npm run start

Bây giờ thì mở trình duyệt lên và truy cập http://localhost:3000 để thưởng thức nào ^_^

 

Kết

Chắc hẳn các bạn đã hiểu cơ bản hơn về NestJS rồi đúng không? Bài viết tiếp theo mình sẽ phân tích rõ hơn về các thành phần như Controllers và Services nhé.

Tags: frameworkinfrastructurejavascriptmodularnestjsnodejstddTest Driven Development

Related Posts

Lập trình

Xóa một property của Object trong Javascript

by Duy Solo
April 24, 2022
0

Mình sẽ giới thiệu 2 cách để xóa một property trong Javascript Object. Một cách sử dụng mutable, một cách...

Read more
Higher order Functions là gì? Tại sao nên sử dụng chúng?
Lập trình

Higher order Functions là gì? Tại sao nên sử dụng chúng?

by Duy Solo
April 15, 2022
0

Đây là một khái niệm rất quan trọng trong Functional Programming. Ở đây mình sẽ cho ví dụ dựa trên...

Read more
NodeJS

NestJS – Providers

by Duy Solo
August 29, 2021
0

Providers là thành phần cơ bản và cực kỳ quan trọng trong Nest để thực hiện Dependency Injection.

Read more
NodeJS

Các design pattern cần biết khi làm việc với NestJS – phần 2

by Duy Solo
August 28, 2021
0

Một số design patterns chính đang được sử dụng bởi NestJS mà bạn cần nắm rõ để làm việc với...

Read more
Load More
Next Post

Hướng dẫn reset trial cho các sản phẩm IntelliJ trên MacOS

NestJS - Controllers

Discussion about this post

POPULAR POST

  • LocalStorage và Cookies – chọn cái nào để lưu JWT Tokens hiệu quả và an toàn?

    1251 shares
    Share 500 Tweet 313
  • Hướng dẫn reset trial cho các sản phẩm IntelliJ trên MacOS

    1194 shares
    Share 478 Tweet 299
  • Repository Design Pattern và ứng dụng của nó trong Laravel

    1044 shares
    Share 418 Tweet 261
  • Decorators trong Typescript

    1009 shares
    Share 404 Tweet 252
  • Các thư viện Date Pickers tốt nhất cho React

    815 shares
    Share 326 Tweet 204
Duy PT Blog

© 2021 Duy PT Blog

Liên kết

  • Lập trình
  • Chia sẻ
  • Blog
  • Privacy Policy

Theo dõi

No Result
View All Result
  • Home

© 2021 Duy PT Blog