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
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