nest README

The project's README from github.com/nestjs/nest. As one markdown file: README.md.

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses modern JavaScript, is built with TypeScript (preserves compatibility with 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 Express, but also provides compatibility with a wide range of other libraries, like Fastify, allowing for easy use of the myriad of third-party plugins which are available.

Philosophy

In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front-end and back-end applications, giving rise to awesome projects like Angular, React, and Vue, which improve developer productivity and enable the construction of fast, testable, and extensible frontend applications. However, on the server-side, while there are a lot of superb libraries, helpers, and tools for Node, none of them effectively solve the main problem - the architecture.

Nest aims to provide an application architecture out of the box which allows for effortless creation of highly testable, scalable, and loosely coupled and easily maintainable applications. The architecture is heavily inspired by Angular.

Getting started

Questions

For questions and support please use the official Discord channel. The issue list of this repo is exclusively for bug reports and feature requests.

Issues

Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.

Consulting

With official support, you can get expert help straight from the Nest core team. We provide dedicated technical support, migration strategies, advice on best practices (and design decisions), PR reviews, and team augmentation. Read more about support here.

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support from the amazing backers. If you'd like to join them, please read more here.

Principal Sponsors

Gold Sponsors

Silver Sponsors

Sponsors

Backers

Stay in touch

License

Nest is MIT licensed.

nest (nestjs/nest)

Searching Database…

76.9K ·GitHub
这是什么?Nest 是一个渐进式 Node.js 框架,用于使用 TypeScript(同时兼容纯 JavaScript)构建高效、可扩展的企业级服务器端应用。
这是一个框架,还是只是一组辅助工具库?它是一个完整的应用框架,而不是零散的工具集:它采用一套有明确约定的架构(模块、控制器、提供者),灵感来自 Angular;默认运行在 Express 之上,同时支持将 Fastify 作为即插即用的 HTTP 适配器。
怎样才能让一个 Nest 项目跑起来?官方指南 docs.nestjs.com 会讲解如何搭建并运行项目,通常借助 Nest CLI;该仓库本身使用标准的 TypeScript 项目引用命令构建,如 'build' 和 'build:dev'。
我需要 TypeScript,还是可以只用纯 JavaScript?需要 Node.js 20 或更高版本;Nest 主要使用 TypeScript 构建,但它明确保留了对纯 JavaScript 的兼容性。
和直接用 Express 相比,有什么需要注意的?Nest 在 Express/Fastify 之上增加了一层有明确约定、类似 Angular 风格的结构,包括模块、装饰器和依赖注入,这意味着前期需要学习更多的结构,而不是直接编写原始的 Express 路由。
Nest 是为谁设计的?它面向需要企业级、易维护服务端架构的后端 / Node.js 开发者,而不是一个极简的路由库。
为什么 Nest 的架构以 Angular 为蓝本?作者 Kamil Mysliwiec 构建 Nest,是为了把 Angular 的模块化、依赖注入驱动的结构引入 Node.js 后端,因为现有的 Node 库只解决了单个问题,并没有解决整体应用架构的问题。
Nest 支持构建微服务吗?支持,微服务是其核心支持的模式之一,让你可以用同样的模块/提供者模型构建分布式服务,而不只是 HTTP API。
我能为 Nest 购买付费支持吗?可以,Nest 核心团队提供官方咨询服务,包括专职技术支持、迁移策略、架构建议和 PR 审查。
Nest 会把我绑定在 Express 上吗?不会,Nest 对 HTTP 层做了抽象,因此你可以把底层服务器从 Express 换成 Fastify,同时保留相同的应用代码。
Creator
nestjs
Size
480.1 MB
Stars
76.9K
Age
9y
Commits · 90 Days