文中是《Why You Should Choose NestJS as Your Backend Framework》翻译,自己翻译能力比较有限,切勿调侃,若有不正确还望强调(已清除文中广告宣传一部分内容),Thanks♪(・ω・)ノ~
Amplication(一个网站)
给你理解为什么你要选择NestJS
做为你后面架构,我们将了解到了应用NestJS
带来的好处及其为何它和Amplication
是那么切合。
- 迅速、可以张力的解决并发请求
- 容易接受、工作能力强
- 可信赖的,拥有大量支持和文本文档
当他在Node.js
世界越挖越重,遇到NestJS
。生活中有那样几个方面马上造成了我留意:
- 它发展趋势非常快,名气不断提升,文本文档也写的不错
- 它根据相对稳定的技术性(
Express.js
、Fastify
) - 适用
TypeScript
在我们对NestJS
的团队进行调查后,确定就需要追随它。我们将对你说为什么从不后悔进行了这个选择。
应用NestJS
这一年来都十分满意,我们将跟你分享它好多个极具有用的东西,及其告知你为何应当考虑一下挑选NestJS
做为你后面架构。
NestJS是开源代码的
NestJS
是Github
上面一个有着4万余star项目。它已经拥有超过300位活跃性推动者。一个新的作用、改善、bug的恢复及其安全性修补都可以被快速反应。
感激其庞大用户数量,因而拥有庞大软件绿色生态,包与整合包帮我们节约不少时间,使我们得到更好的开发设计感受。
相拥TypeScript
NestJS
彻底相拥TypeScript
,并拥有高级编程语言的大力支持。开发人员可以从TypeScript
的功效的获利,包含在线编辑器的大力支持,智能化提醒及其类型安全。它能够帮助我们在建立的时候就及时发现难题,而非直到公布正式上线,发布之后才发现难题那也是JS设计中的难题。TypeScript
程序编写比较容易使我们沉浸于下来,及其更深入的了解。
依据StackOverflow开发人员调查研究报告,TypeScript
知名度最近几年升高非常快。在声明中,它最近几年卫冕最受欢迎的和自己喜欢的技术性前三。
如果已经使用TypeScript
或是提前准备新项目转移,NestJS
毫无疑问是非常好的就选!
NestJS的束缚
为了更好应用NestJS
,你就应该追随它习惯面向对象观念。尽管这一点在主要取决于每一个人口感,但是我相信这也是它最有用的东西之一。
相拥NestJS
偏执的规范能够让我们专注于功能性的撰写,而偏少考虑到一些毫无价值的事,例如目录结构、文件命名、变量命名、测试标准等。使用一个有管束框架会大大降低这些减少开发人员与团队效率的事。
根据这一电,每一个NestJS
新项目看上去都是一样的,对我们的团队合作的成本费大幅度降低。
一个一键生成的NestJS
项目结构:
强悍的模块系统
这也是NestJS
最热门的作用之一,NestJS
内置模块系统当然促使每一个侧重点整齐地分离出来。
一个标准的NestJS
运用是通过好几个控制模块所组成的,每一个控制模块只关注他们自己的部件(Controllers
、Services
等),控制模块可能取决于别的模块作用。
这一体制促使依靠能够引入,这一比较好的作用帮我们管理方法我们自己的依靠及其在大家的运用中共享它,而无需担心功能性的反复与复位等。
你可以得知想要了解更多关于模块信息内容:NestJS文本文档-控制模块
NestJS测试
NestJS
的模块系统让我们测试比较简单,模块作用应当是单一的(如同订单信息、客户、产品),还要是可以测试。在NestJS
里,写一个单独的自动化测试是非常简单的。
NestJS
内嵌Jest
,Jest
是JS的生态中有名的测试模块。
当创建一个项目时,NestJS
还会继续建立一些基础资源,包含单元测试卷,端对端检测。
或许你已经知道,在我们写测试情况下,我们通常必须mock一些依靠。NestJS
的测试模块早已考虑到到了一点,还提供了一些全自动mock的功效帮我们。
NestJS的createMock
函数公式帮我们全自动mock依靠:
你能了解更多测试信息内容:NestJS文本文档-检测
如果对NestJS
及其检测特别感兴趣,这里有一个非常不错的的Github
新项目,里面包含检测方法和技巧各种各样实例,不如说是GraphQL
、gRPC
、REST
。可以了解一下:jmcdo29/testing-nestjs
安全性
在我们今天的程序开发中,安全就是更为关键的事儿,一个可信赖的安全记录能帮助我们创建和用户与顾客的认可。相反,安全难题最后会让我们自己的知名品牌导致无法挽回损失。
当使用NestJS
,这一点没什么好担忧的,NestJS
根据简易集成化
认证、受权控制模块、守护来提升安全性。
根据这种,NestJS
替你管理方法CORS
和CSRF
(你还可以根据自己的需求自主配备)。
自然,当你要使你的一部分路由器仅对授权用户对外开放,NestJS
早已为您提供了守护作用,那样让你能够很轻松完成这个需求。装饰器的应用让这件事情变得十分可叙述化,这会对工程是非常有帮助的。
POST/product
的终端设备被NestJS
的AuthGuard
保护着。
例如,NestJS
与Passport.js完美集成化,这是一个有名的库,它给予受权,且允许能轻松愉快的应用相近JWT
的思路(JSON Web Token)。
对通用规范的大力支持
建立数据库?没什么问题。需要应用GraphQL
的API?非常简单。必须交易RabbitMQ
?完全可以。想从Redis
里读取数据?自然没什么问题!
NestJS
的成长的速度和名气充实了包的邮绿色生态(官方网当地社区都可以的)。
这种包都能轻松安装及集成化,它被完成做为NestJS
的控制模块,这也让我们能够很自然的在大家的新项目里集成化与使用他们。
这是一个在NestJS
新项目里引进GraphQL API
的实例:
如果你想要进一步了解得话,这儿有一份短的技术性明细:
- GraphQL
- Prisma
- TypeORM
- MongoDB Mongoose
- Redis
- RabbitMQ
- Kafka
如想了解更多的技术性,可以参考一下NestJS技术性中的文本文档。
出色的文本文档与友善的小区
确实,在我看过的文本文档网站上,NestJS
有很多非常不错的文本文档,这也让我们能够快速的使用这些。
责任人优异的实现了很多的事情,例如整体上的详细介绍、核心思想的描述(根据视觉效果)、基本准则、通用规范与技巧。
我十分支持你看一下Nest文本文档还有自己体验一下。
小区这一块,NestJS Discord server是一个超出3万日活跃用户的群体。我已经在上边进行过很多次的寻求帮助,总是能得到适用与理解。
伴随着NestJS
的便捷性和名气提升,小区在规划他们生态层面都那么积极主动,这也是互利共赢。
汇总
NestJS
好像啥都有,它迅速,它都不重复造轮子。它兼容全部知名的一种手段、技术性、实体模型。它根据稳定的实体模型,包含稳健型模块系统、依赖注入和铭记可测试性。NestJS
的使用十分简单实用,并且通过两行编码就可以开始扩展。
NestJS
的确降低了我们自己的许多压力,帮我们降低了成本。
原文链接
本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!