Getting started with Nest.js
What is NestJS..?
- OOP (Object Oriented Programming)
- FP (Functional Programming)
- FRP (Functional Reactive Programming)
NestJS offers a level of abstraction above these common Node.js frameworks (Express/Fastify), but also delivers their endpoint APIs directly to the developer. As a result, developers can freely use numerous third-party packages that supports this ecosystem.
We can install NestJS by two way:
Since, this is tutorial deals with a programming tech. We can assume that the one reading this article is already familiar with Git and its functionalities. So, cloning the started project can be easy.
Here, we are going to get the project started with Nest CLI instead.
For that, we need to install the Nest CLI using the Node Package Manager(NPM) first. To install the Nest CLI plugin globally we can run the following command in our terminal:
npm i -g @nestjs/cli
After the successful installation of Nest CLI, we can create the new NestJS project running the following command in the desired directory:
nest new project-name
This command handles everything to get us started with the starter NestJS project. All the required files and configurations are automatically generated as you can see in the screenshot below:
The project folder structure will look something like this:
We will talk about the project folder structure and files in the next chapter. For now, let us get a closer look at Nest CLI and know it better.
Nest CLI is a command-line interface that helps us initialize the project. By using Nest CLI, we can generate the best-practice folder structure for the Nest project.
Example commands in Nest CLI:
nest --help // help list for cli
nest -h // alias for nest generate <schematic> <name> [options] // for create file
nest g <schematic> <name> [options]
- <schematic> is something we need to build
- [options] is optional command
The example use case is shown below:
nest g controller cats --no-spec// is command for create controller name cats without create test file
The result of running the above command is shown in the screenshot below:
cats controller transcript files are automatically generated and imported in the main file.
If we select other schematic example modules:
nest g module cats --no-spec
We get the following result:
If you want to check the other use cases of Nest CLI, be sure to check out this Link.
In this chapter, we got a brief intro of NestJS, how it works, and what it supports. We learned how to create a new NestJS project using the Nest CLI. Then, we get some deep insight into what Nest CLI has to offer. In the next chapter, we will talk about the NestJS folder structure and files. We will get deep into the purpose of each file in the project structure.