前言
之前匆匆写了一篇关于Nest官文的翻译,然而写的时候比较着急,所以很多地方的翻译比较马虎,甚至直接丢进翻译器在丢出来....(有的时候我会被丢进翻译器之后被丢出来的译文吓到,原因是...译文比自己翻译的好/(ㄒoㄒ)/~~)但还是有很多部分是翻译器解决不了的,语句通顺固然优雅锦上添花,但一点小的错误却是致命的。
现在手头比较悠闲,也打算重新修改一份比较优雅的中文文档。有人会问花这么多时间写这个东西,是不是真的有用。百度上面也有一些关于Nest的文档,完全也不会有人来看你写的翻译。我的感受是,可能这就是我的学习方式吧。其实平时阅读文档,大多数情况下都是脑子说会了,敲了代码才一脸懵。一边翻译英文文档,一遍理解框架的含义,还有助于提高阅读英文文档的能力。手敲过一遍和眼睛看过一遍真的不太一样,而且这种方式会增加使用时的自信。就算没有人看,自己想要翻阅文档的时候,也可以拿出来看看,再对自己所写加以改进。这是一种乐趣,就好像养成游戏一样。
HINTS !
目前文章内容仍然有部分传送门未建设,以及部分译文尚欠妥当,后续将持续改进(错误修正 & 样式优化
)并更新新的内容
正文
Introduction 介绍
介绍
- NestJS是一个为了构建高效、可扩展的服务端应用框架。它运用了渐进式javascript,使用并且完全支持Typescript,结合了面向对象编程OOP、函数式编程FP、函数式响应编程FRP。
- 在Nest底层也运用了强大的HTTP服务框架例如
Express
(默认),和Fastify
(可配置)。 - Nest在这些常用的HTTP框架之上提供了一个抽象层,但也直接暴露了他们自己的API给开发者。这也允许开发者自由地使用无数原先平台就可以使用的第三方模块(中间件)。
安装
- 开始一个nest,可以使用脚手架Nest CLI,也可以clone一个初始项目
$ npm i -g @nestjs/cli
$ nest new project-name
or
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start
- 手动创建
$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata
Overview 概述
- 控制器 —— Controllers
- 供应商 —— Providers
- 模块 —— Modules
- 中间件 —— Middleware
- 异常过滤器 —— Exception filters
- 管道 —— Pipes
- 守卫 —— Guards
- 拦截器 —— Interceptors
- 自定义装饰器 —— Custom decorators
(以下内容建设中...)
Fundamentals 基础
Techniques 技术
GraphQL
Websockets ws协议
Microservices 微服务
Application Context 应用环境
CLI 脚手架
Recipes 食谱
FAQ 常见问题
Migration Guide 迁移指南
后记
Nest官方文档地址:docs.nestjs.com/
关于本文
- 本文为原创文档翻译。
- 所有的原创文章未经本人许可,不得用于商业用途及传统媒体。网络媒体转载请注明出处,否则属于侵权行为。
- 用作记录自己需要的内容或自己的学习感悟。
- 用作前端技术交流分享。
- 阅读本文时欢迎随时质疑本文的准确性,将错误的地方告诉我。本人会积极修改,避免文章对读者的误导。
关于我
- 是一个有梦想,很努力(大概是的哈哈哈)的人儿。
- 觉得算法、数据结构、函数式编程、js底层原理等十分有趣的小前端。
- 志同道合的朋友请关注我,一起交流技术,在前端之路上共同成长。
- 如对本人和文章有任何意见建议请务必告诉我! 初为肥柴,多多关照~
- 技术路漫漫,一生学不完。今天也是美(diao)好(fa)的一天( 跪了...orz