介绍
Nest(NestJS)是用于构建高效,可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,并已构建并完全支持TypeScript(但仍使开发人员能够使用纯JavaScript进行编码),并结合了OOP(面向对象编程),FP(功能编程)和FRP(功能反应性编程)的元素。
在后台,Nest利用了诸如Express(默认)之类的健壮的HTTP Server框架,并且可以选择配置为也使用Fastify!
Nest在这些常见的Node.js框架(Express / Fastify)之上提供了一个抽象级别,但也直接向开发人员公开了它们的API。这使开发人员可以自由使用底层平台可用的大量第三方模块。
近年来,由于使用了Node.js,JavaScript已成为前端和后端应用程序的Web“通用语言”。这催生了Angular,React和Vue等出色的项目,这些项目提高了开发人员的生产力,并能够创建快速,可测试和可扩展的前端应用程序。但是,尽管存在大量用于Node(和服务器端JavaScript)的一流库,助手和工具,但它们都无法有效解决架构的主要问题。
Nest提供了一种开箱即用的应用程序体系结构,该体系结构允许开发人员和团队创建高度可测试,可伸缩,松散耦合且易于维护的应用程序。该架构在很大程度上受到了Angular的启发。
使用过 JAVA 的框架Spring的,可以了解到,nestjs 很像 Spring,只不过语法改为了 nestjs,这个框架基于模块的开发方式,每个功能都可以认为是一个模块,可以自己调用,也可以被其他模块调用,每个模块又是单独的。
安装
可以使用Nest CLI搭建项目,或者克隆一个启动(两个会产生相同的结果)
要使用Nest CLI搭建项目,请运行以下命令。这将创建一个新的项目目录,并使用初始核心Nest文件和支持模块填充该目录,从而为您的项目创建常规的基础结构。建议初学者使用Nest CLI创建新项目。我们将在“第一步”中继续使用这种方法。
$ 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/
,查看效果。