Nest.js 是一款服务端应用框架,你可以用它创建企业级应用(加上 “企业” 显得高级一些 :)。我非常喜欢这款框架,决定再深入研究一下,最终会为你提供一套完整的服务端应用开发的工具、方法与流程。
Nest.js 是基于 Node.js 创建的,Node.js 是一种 JavaScript 语言的运行环境,在服务器上安装一个 Node.js,就可以去运行用 JavaScript 语言写的程序了。也就是用 Nest.js 创建应用,用的语言就是 JavaScript,不过我们用的是带 “外挂” 版本的 JavaScript,也就是 TypeScript。
早先 JavaScript 语言一般会在浏览器上运行,网页上多少都会嵌入点用 JavaScript 语言写的脚本,它是网页界面的组成部分。这些脚本主要是去处理网页界面上发生的一些事情,就是给网页添加点交互功能。
不同类型的浏览器里边儿都带着一个解释 JavaScript 语言的引擎,有了这个引擎浏览器才能懂我们在网页里嵌入的 JavaScript 脚本。Google 的 Chrome 浏览器里的这个引擎叫 V8,由于开源并且性能卓越,有人就琢磨把这个引擎搬到服务器上运行,这样不就可以用 JavaScript 语言写服务端应用了吗,所以后来就有了 Node.js。
Node.js 的优异表现,快速被引爆,这也让 JavaScript 变成最流行的程序语言。前端工程师们都会用 JavaScript 开发,有了 Node.js 以后,前端就都想变成全栈了。Node.js 被广泛地应用,创造了很多响当当的世界级产品,足以证明实力。
如果你想快速实践想法拿出产品放到市场上验证,Node.js 绝对是你的首选。但是,我们一般不会直接拿 Node.js 去创建应用,通常都会选择一个库或一个框架去创建应用。我推荐大家基于框架开发,选择一款好用的 Node.js 应用框架可以节省时间,规范开发流程。
Node.js 社区太活跃,你能找到几十种库或框架,选择太多了。在宁皓网我们之前推出过一个 Adonis.js 框架的系列课程,真的好用,今年我们推荐一款更好用的 Node.js 框架:Nest.js 。
Nest.js 的作者实在是太喜欢猫了,在官方网站随处可见,Logo 也是一只打哈欠的小猫咪头像。
Nest.js 提供了多种构建单元(Building block),比如控制器、中间件、守卫、拦截器、过滤器等等(别担心,我们在课程里会一一搞定所有这些东西),可以把它们想成是服务端应用的 “建筑材料”。你可以把应用的逻辑分别放在各种不同类型的构建单元里面。
企业级
除了服务端应用基本部件,Nest.js 还提供了很多企业级别的应用需要的工具与方法。比如 GraphQL,微服务,CQRS 等等。这些全都是宝贝,会让你更有自信创建复杂的服务端应用。
受欢迎
Nest.js 今年才两岁,但它已经成为去年增长最快的 Node.js 框架,超过老牌著名的 Express、Hapi、Koa ... 增长之和。从 Github 网站上的星星数,还有 npm 网站上提供的下载量都可以判断出 Nest.js 的受欢迎程度。
实际应用
很多公司已经把 Nest.js 框架用于生产,比如西南航空的一款产品的后端服务就是基于 Nest.js 框架创建的。
https://meetmaestro.com/work/southwest/
电视剧配角
在网飞(Netflix)出品的一部原创剧(《不要在家里尝试》)里,出现了 Nest.js 应用的代码。这应该是目前唯一出现在电视剧里的 Node.js 应用框架。有意思的是,Netflix 本身也是 Node.js 用户,所以我猜也是这个原因才在自己的原创剧中选择 Nest.js 应用框架作为配角。
网飞(Netflix)提供在线流媒体服务,在全球 190 个国家有 1.3 亿的付费订阅用户。
男主角用 Nest.js 做了一个服务端应用。
他用的是 VSCode 编辑器。
应用的前端是 Vue.js。
不知不觉 Coding 到了天亮。
学习 Nest.js
Nest.js 还是一个挺复杂的应用框架,主要是他提供的零部件多。不过无需担心,我们在课程里会一个一个地学会使用它们。
如果你完全零基础,需要花更长的时间,先别管为什么,什么是什么,你就跟着视频练就行,练到一定程度,很多东西自然就能理解。
宁皓网提供的相关课程可以辅助你掌握 Nest.js 应用框架:
- Nest.js:https://ninghao.net/package/nestjs
- VSCode 编辑器:https://ninghao.net/package/vscode
- MySQL 数据库:https://ninghao.net/package/mysql
- JavaScript 语言:https://ninghao.net/package/javascript
- TypeScript:https://ninghao.net/package/typescript
- Docker:https://ninghao.net/package/docker
订阅宁皓网,Coding 到天亮
现在订阅,立即开始学习基于 Nest.js 框架创建服务端应用,一起 Coding 到天亮。年中大促,3 年 33 折,现在订阅 3 年 →