docs.nestjs.com Open in urlscan Pro
104.198.14.52  Public Scan

Submitted URL: http://docs.nestjs.com/
Effective URL: https://docs.nestjs.com/
Submission: On December 02 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

<form _ngcontent-ng-c3384994701="" class="form-wrapper"><input _ngcontent-ng-c3384994701="" id="newsletter-email" name="email" type="email" placeholder="Email address.." required="" class="form-control"><button _ngcontent-ng-c3384994701=""
    type="submit" aria-label="Signup to Newsletter" class="signup-button"><svg _ngcontent-ng-c3384994701="" class="svg-inline--fa fa-paper-plane" aria-hidden="true" focusable="false" data-prefix="far" data-icon="paper-plane" role="img"
      xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
      <path fill="currentColor"
        d="M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376V479.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z">
      </path>
    </svg><!-- <i _ngcontent-ng-c3384994701="" class="far fa-paper-plane"></i> Font Awesome fontawesome.com --><svg _ngcontent-ng-c3384994701="" class="svg-inline--fa fa-circle-check icon-success" aria-hidden="true" focusable="false"
      data-prefix="fas" data-icon="circle-check" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
      <path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"></path>
    </svg><!-- <i _ngcontent-ng-c3384994701="" class="icon-success fas fa-check-circle"></i> Font Awesome fontawesome.com --></button></form>

Text Content

STOP WAR IN UKRAINE 🇺🇦
SearchK
 * Our website
 * Courses
 * NEW Devtools
 * Enterprise support


INTRODUCTION


OVERVIEW

 * First steps
 * Controllers
 * Providers
 * Modules
 * Middleware
 * Exception filters
 * Pipes
 * Guards
 * Interceptors
 * Custom decorators
   


FUNDAMENTALS

 * Custom providers
 * Asynchronous providers
 * Dynamic modules
 * Injection scopes
 * Circular dependency
 * Module reference
 * Lazy-loading modules
 * Execution context
 * Lifecycle events
 * Platform agnosticism
 * Testing
   


TECHNIQUES

 * Configuration
 * Database
 * Mongo
 * Validation
 * Caching
 * Serialization
 * Versioning
 * Task scheduling
 * Queues
 * Logging
 * Cookies
 * Events
 * Compression
 * File upload
 * Streaming files
 * HTTP module
 * Session
 * Model-View-Controller
 * Performance (Fastify)
 * Server-Sent Events
   


SECURITY

 * Authentication
 * Authorization
 * Encryption and Hashing
 * Helmet
 * CORS
 * CSRF Protection
 * Rate limiting
   


GRAPHQL

 * Quick start
 * Resolvers
 * Mutations
 * Subscriptions
 * Scalars
 * Directives
 * Interfaces
 * Unions and Enums
 * Field middleware
 * Mapped types
 * Plugins
 * Complexity
 * Extensions
 * CLI Plugin
 * Generating SDL
 * Sharing models
 * Other features
 * Federation
 * Migration guide
   


WEBSOCKETS

 * Gateways
 * Exception filters
 * Pipes
 * Guards
 * Interceptors
 * Adapters
   


MICROSERVICES

 * Overview
 * Redis
 * MQTT
 * NATS
 * RabbitMQ
 * Kafka
 * gRPC
 * Custom transporters
 * Exception filters
 * Pipes
 * Guards
 * Interceptors
   


STANDALONE APPS


CLI

 * Overview
 * Workspaces
 * Libraries
 * Usage
 * Scripts
   


OPENAPI

 * Introduction
 * Types and Parameters
 * Operations
 * Security
 * Mapped Types
 * Decorators
 * CLI Plugin
 * Other features
 * Migration guide
   


RECIPES

 * REPL
 * CRUD generator
 * SWC (fast compiler)
 * Passport (auth)
 * Hot reload
 * MikroORM
 * TypeORM
 * Mongoose
 * Sequelize
 * Router module
 * Swagger
 * Health checks
 * CQRS
 * Compodoc
 * Prisma
 * Serve static
 * Commander
 * Async local storage
 * Automock
   


FAQ

 * Serverless
 * HTTP adapter
 * Keep-Alive connections
 * Global path prefix
 * Raw body
 * Hybrid application
 * HTTPS & multiple servers
 * Request lifecycle
 * Common errors
 * Examples
   


NEWDEVTOOLS

 * Overview
 * CI/CD integration
   


MIGRATION GUIDE


OFFICIAL COURSES


DISCOVER

 * Who is using Nest?
   


SUPPORT US

Get enterprise supportVersion 9
 * Introduction
 * Philosophy
 * Installation
 * Alternatives
   

Jetzt zum Black Friday die Public Cloud kostenlos testen ads via Carbon




INTRODUCTION

Nest (NestJS) is a framework for building efficient, scalable Node.js
server-side applications. It uses progressive JavaScript, is built with and
fully supports TypeScript (yet still enables developers to code in pure
JavaScript) and combines elements of OOP (Object Oriented Programming), FP
(Functional Programming), and FRP (Functional Reactive Programming).

Under the hood, Nest makes use of robust HTTP Server frameworks like Express
(the default) and optionally can be configured to use Fastify as well!

Nest provides a level of abstraction above these common Node.js frameworks
(Express/Fastify), but also exposes their APIs directly to the developer. This
gives developers the freedom to use the myriad of third-party modules which are
available for the underlying platform.

PHILOSOPHY#

In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of
the web for both front and backend applications. This has given rise to awesome
projects like Angular, React and Vue, which improve developer productivity and
enable the creation of fast, testable, and extensible frontend applications.
However, while plenty of superb libraries, helpers, and tools exist for Node
(and server-side JavaScript), none of them effectively solve the main problem of
- Architecture.

Nest provides an out-of-the-box application architecture which allows developers
and teams to create highly testable, scalable, loosely coupled, and easily
maintainable applications. The architecture is heavily inspired by Angular.

INSTALLATION#

To get started, you can either scaffold the project with the Nest CLI, or clone
a starter project (both will produce the same outcome).

To scaffold the project with the Nest CLI, run the following commands. This will
create a new project directory, and populate the directory with the initial core
Nest files and supporting modules, creating a conventional base structure for
your project. Creating a new project with the Nest CLI is recommended for
first-time users. We'll continue with this approach in First Steps.


$ npm i -g @nestjs/cli
$ nest new project-name


> Hint To create a new TypeScript project with stricter feature set, pass the
> --strict flag to the nest new command.

ALTERNATIVES#

Alternatively, to install the TypeScript starter project with Git:


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


> Hint If you'd like to clone the repository without the git history, you can
> use degit.

Open your browser and navigate to http://localhost:3000/.

To install the JavaScript flavor of the starter project, use
javascript-starter.git in the command sequence above.

You can also manually create a new project from scratch by installing the core
and supporting files with npm (or yarn). In this case, of course, you'll be
responsible for creating the project boilerplate files yourself.


$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata



SUPPORT US

Nest is an MIT-licensed open source project. It can grow thanks to the support
by these awesome people. If you'd like to join them, please read more here.

PRINCIPAL SPONSORS

SPONSORS / PARTNERS

Become a sponsor


JOIN OUR NEWSLETTER

Subscribe to stay up to date with the latest Nest updates, features, and videos!



Copyright © 2017-2023 MIT by Kamil Mysliwiec design by Jakub Staron
Official NestJS Consulting Trilon.io hosted by Netlify