【第13天】BFF环境构建 – NestJS GraphQL

首先

スライド14.PNG

今天是2023年的圣诞节倒计时第13天。

 

为了开始开发BFF,这次我们将进行环境建设。

image.png

最好的朋友 (zuì de

BFF的意思是最好的朋友。

来自ChatGPT

BFF(Frontend to Backend)是软件开发的一种架构模式。这种模式为前端(例如,Web应用程序或移动应用程序)提供专用的后端。通过这种方式,可以实现专为前端需求设计的API,并且简化前端的开发和维护工作。

我了解它是为了前端而存在,并且起到与后端的沟通中介的作用。

我想利用GraphQL来构建这次的BFF。

采用GraphQL的原因

我主要采用的原因有两个。

    1. 返回仅客户端请求的数据

 

    可以通过较少的请求访问多个资源。

1. GraphQL 被设计成仅返回客户端请求的数据,可以防止过度获取数据。

2. 可以通过单个查询请求访问多个资源,无需多个请求即可获取信息。这样可以避免 RESTful API 中常见的问题,如“访问信息需要许多端点”的问题。参考链接:https://qiita.com/hirac/items/d4b470afa14e1741ab99。

接下来我们将在NestJS上创建一个GraphQL服务器。

Nest.js是一个基于Node.js的开发框架。

NestJS是什么

NestJS是一个在Node.js上运行的后端开发框架。

 

环境建设!

实际上,GraphQL + TypeScript的构建方法已经在官方参考文档中提供了,我们将根据该文档进行进一步操作。

 

首先我们要安装NestJS环境。

npm i -g @nestjs/cli
nest new bff

? Which package manager would you ❤️  to use? npm
CREATE bff/.eslintrc.js
...

✔ Installation in progress... ☕

?  Successfully created project bff
?  Get started with the following commands:

$ cd bff
$ npm run start
                                         
                          Thanks for installing Nest ?
                 Please consider donating to our open collective
                        to help us maintain this package.
                                         
                                         
               ?  Donate: https://opencollective.com/nest

接下来我们将准备在NestJS上搭建GraphQL服务器所需的必要工具。

cd bff
npm i @nestjs/graphql @nestjs/apollo @apollo/server graphql

这样准备工作就完成了。

下次我们将进行用于测试的WireMock的设置!

广告
将在 10 秒后关闭
bannerAds