Skip to main content

NestJS介绍

Nest(NestJS)是一个用于构建高效、可扩展的Node.js服务端应用程序的框架。 它使用渐进式JavaScript,使用并完全支持TypeScript(但仍允许开发人员使用纯JavaScript进行编码), 并结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数式反应变成)的元素。

在引擎盖下,Nest使用强大的HTTP服务器框架,如Express(默认), 也可以选择配置为使用Fastify!

Nest提供了高于这些常见Node.js框架(Express/Fastify)的抽象层次,但也直接向开发人员公开了它们的API. 这样,开发人员就可以自由使用底层平台的大量第三方模块。

NestJS的哲学

近年来,由于Node.js,JavaScript已成为网络前端和后端应用程序的"通用语言"。 这催生了AngularReactVue等令人惊叹的项目, 它们提高了开发人员的工作效率、使创建快速、可测试和可扩展的前端应用程序成为可能。 然而,虽然Node(和服务器端JavaScript)存在大量极好的库、助手和工具,但它们都不能有效解决架构的主要问题。

Nest提供了一个开箱即用的应用程序架构,允许开发人员和团队创建高效可测试、可扩展、松散耦合且易于维护的应用程序。 该架构受Angular的启发。

NestJS安装

要开始使用,可以使用Nest CLI搭建项目脚手架,或者克隆一个启动项目(两者结果相同)。

要使用Nest CLI搭建项目脚手架,请运行以下命令。这将创建一个新的项目目录,并在目录中填充初始化核心Nest文件和支持模块, 为项目创建一个传统的基础结构。建议初次使用Nest的用户使用Nest CLI创建新项目。 我们将在“第一步”中介绍这种方法。

tip

如果没有搭建Node开发环境,请参考NodeJS环境搭建

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

备用方法

或者,使用Git安装TypeScript入门项目:

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

打开浏览器,输入链接http://localhost:3000

要安装启动项目的JavaScript版本,请在上述命令中使用javascript-starter.git

你也可以使用npm(或yarn)安装核心文件和辅助文件,从头开始手动创建一个新项目。 当然,在这种情况下,你需要自己创建项目的模版文件。

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