前言
hello,大家好又是美好的一天,可惜病毒肆虐,首先说一句武汉加油、中国加油,相信在国家的努力,人们的坚持下病毒很快就会被消灭的。
开始真题,今天是日更挑战的第三天,从今天开始小编带大家一起学习一下nodejs的企业级的开发框架nest 6。预计需要连更15天,小编希望大家能通过我的文章可以快速的入门nest 6,因为我是看官方文档学的,因为本人英语水平一般所以只能靠翻译来学,所以第一遍学习真的是太难了,不过第二步学的还可以,所以想出一个nest系列的教程,这样可以为大家减少一些时间的浪费。
初始Node企业级框架
Nest介绍
nodejs作为一个年轻的开发语言,目前在市场上也有了一定的开展,对比这些像PHP这些老牌的也是有很大的优势,如高性能
、低内存
、事件驱动
等等。但是nodejs的在企业级开发上就是与php等老牌语言有一些差距,不过好在nodejs使用人群越来越多,目前也出现了一些nodejs优秀的企业框架,如:Egg
、Nestjs
。
首先这两个框架各有各的优缺点,那我为什么要选择Nestjs
而不选择Egg
呢?
主要的原因是我想使用Ts开发,所以我选择了Nestjs
。
接下来说一下Nestjs
的优势对比Egg
:
-
面向对象开发,对IOC、DI、AOP等面向对象开发的概念支持的很好。
-
对Ts支持的很好,而且官方也推荐使用Ts作为开发语言。
-
性能不错,在nest创建的
service
和module
很容易的就可以全局共享,而且他们默认是创建的单利模式。 -
便于扩展、便于维护,因为nest是采用
洋葱
模型进行编程,所以每一层只干一个事情,这样在后期维护上有了极大的方便。 -
生态更加完整,nest官方有很多的库比如
@nest/graphql
、@nest/mongoose
等等,这些库可以很方便的使用在nest中。
说了这么多的优秀,也说下他t的缺点:
-
首先是复杂,这里的复杂不是代码上的复杂,而是思想上,需要对面向对象开发思想需要更多的学习。
-
没有官方的中文文档。目前的中文文档是由国内的大佬直接翻译的所以很多地方赶紧很变扭,我看第一遍的时候,又痛苦又不会,一句话得看好几遍。
-
学习成本高,egg是首选js作为开发语言,而nest是首选ts作为开发语言,这样就在学习成本上有了一定的成本。
说了这么多大家也对nest应该有了一定的了解,接下来就一起安装一下nest。
安装Nest
条件:NodeJs >=8.0,这里大家自行安装Nodejs
$ npm install -g @nestjs/cli
# -g 全局安装
创建一个HelloWorld项目
$ nest new -l TS helloworld
# new 创建一个项目
# -l TS 使用ts作为开发语言
# helloworld 项目名称
启动这个项目
$ cd helloworld
$ npm run start
启动成功
出现这样就启动成功了。
测试了解项目目录
项目目录Nest最少需要加载一个模块。
- 模块:用于管理控制器与服务的,Nest中所有的服务与控制器都需要封装到模块里,通过模块可以实现导入导出
- 控制器:用于分配路由,调用服务来完成一个简单请求的功能,属于消费者,消费
服务
提供的功能。 - 服务:用于实现某个具体的功能,如查Id为1的用户等等,属于提供者,为
控制器
提供功能。
这些是基本的概念,还有很多的概念如中间件、守卫等等,这些概念会在后续15天内的文章中继续说明。
最后关注
、点赞
、收藏
,每天都会更新新的文章。
ByBy咱们明天见。
咱们明天见。
本站作品的版权皆为作品作者所有。
本站文字和内容为本站编辑或翻译,部分内容属本站原创,所以转载前务必通知本站并以超链接形式注明内容来自本站,否则以免带来不必要的麻烦。
本站内容欢迎分享,但拒绝有商业目的的转载!
网友评论