セットアッププロジェクトとFASTIFYプラットフォーム-パスポート
このシリーズでは、ソーシャルAuthとJWTを使ってパスポートを使った認証システムを作成します.完全な認証システムを作成するためにNESTJS +パスポート+ Fastifyの組み合わせを使用してみましょう.
したがって、この最初の部分では、我々は空白のプロジェクトから始めて、Fastifyプラットホームを使用して、NESTJSがどのように働くかについて理解します.
NESTJSとは
NESTJSは効率的でスケーラブルなノードを構築するためのフレームワークです.JSサーバー側アプリケーション.それはExpressやFastifyのような堅牢なHTTPサーバのフレームワークを使用します.NESTJSは、共通のノードの上に抽象化のレベルを提供します.JSフレームワークは、開発者にAPIを公開します.これはサードパーティ製のモジュールを使用する自由の大きな量を与える.
スケーラブル、テスト可能、および疎結合アプリケーションを書くために使用されます.これはPostgreSQL、MongoDB、MySQLのようなデータベースをサポートしています.
プロジェクト開始
私たちは
まず、インストール
NESTJSにおけるブロックの型
モジュール:コードを整理し、論理再利用可能なユニットに分割機能を使用します.グループ化されたtypescriptファイルは、アプリケーション構造を組織するためにNESTJSが使用するメタデータを提供する「@ module」デコレータで飾られます.
プロバイダー:また、複雑さと論理のどんな形でも抽象化するように設計されているサービスと呼ばれます.プロバイダを作成することができますし、コントローラや他のプロバイダに注入.
コントローラ:着信要求を処理して、アプリケーションのクライアント側(例えばAPIへの呼び出し)に適切な応答を返すことに責任があります.
プラットフォームの設定
このプロジェクトでは、FASTIFYを使用することを選択するよりもはるかに優れたパフォーマンスと機能を表現するよりも.
では設定しましょう
まず、必要なパッケージをインストールする必要があります.
初ルート
プロジェクトを作るとき
オープン
グッドニュース👏
ロガー
あなたが1つのリクエストを送るログを常に取得したいならば、あなたは中でこのオプションをセットすることができます
今度まで
それは、我々がこの記事でカバーするつもりです、我々はNESTJSについて理解して、我々のプロジェクトが成長する初期のセットアップをしました.次のシリーズでは、Prisma、Docker、PostgreSQLを使用してデータベースを構成します.
読んでくれてありがとう!
リポジトリをコンサルティングコードに従ってください
mnzsss / nest-auth-explained
🔒 認証を使用してJWTとGoogleを使用して認証.js説明
参考文献 NestJs Documentation Why Choose NestJS As Your Backend Framework?
したがって、この最初の部分では、我々は空白のプロジェクトから始めて、Fastifyプラットホームを使用して、NESTJSがどのように働くかについて理解します.
NESTJSとは
NESTJSは効率的でスケーラブルなノードを構築するためのフレームワークです.JSサーバー側アプリケーション.それはExpressやFastifyのような堅牢なHTTPサーバのフレームワークを使用します.NESTJSは、共通のノードの上に抽象化のレベルを提供します.JSフレームワークは、開発者にAPIを公開します.これはサードパーティ製のモジュールを使用する自由の大きな量を与える.
スケーラブル、テスト可能、および疎結合アプリケーションを書くために使用されます.これはPostgreSQL、MongoDB、MySQLのようなデータベースをサポートしています.
プロジェクト開始
私たちは
@nestjs/cli
スタータープロジェクトを作成し、プロジェクトで使用しないときにファイルをクリアします.詳細を見たい場合は公式ドキュメントをチェックしてください.まず、インストール
@nestjs/cli
グローバルにお使いのコンピュータと空のプロジェクトを初期化します.私はパッケージをインストールするための糸を使用することをお勧めしますが、パッケージマネージャの好みを選択することができます.yarn global add @nestjs/cli
nest new nest-auth
そして、フォルダにアクセスして、vscode(または、あなたが好むならば、もう一つのエディタ)で動きます.cd nest-auth
code .
下のイメージでは、アプリケーションモジュール、コントローラ、およびサービスがあるときに、ファイル構造が表示されます.NESTJSにおけるブロックの型
モジュール:コードを整理し、論理再利用可能なユニットに分割機能を使用します.グループ化されたtypescriptファイルは、アプリケーション構造を組織するためにNESTJSが使用するメタデータを提供する「@ module」デコレータで飾られます.
プロバイダー:また、複雑さと論理のどんな形でも抽象化するように設計されているサービスと呼ばれます.プロバイダを作成することができますし、コントローラや他のプロバイダに注入.
コントローラ:着信要求を処理して、アプリケーションのクライアント側(例えばAPIへの呼び出し)に適切な応答を返すことに責任があります.
プラットフォームの設定
このプロジェクトでは、FASTIFYを使用することを選択するよりもはるかに優れたパフォーマンスと機能を表現するよりも.
Fastify provides a good alternative framework for Nest because it solves design issues in a similar manner to Express. However, fastify is much faster than Express, achieving almost two times better benchmarks results. A fair question is why does Nest use Express as the default HTTP provider? The reason is that Express is widely-used, well-known, and has an enormous set of compatible middleware, which is available to Nest users out-of-the-box.
では設定しましょう
main.ts
Fastifyを使用する場合、プラットフォームを設定します.まず、必要なパッケージをインストールする必要があります.
yarn add @nestjs/platform-fastify
とsrc/main.ts
インポートFastifyAdapter
and NestFastifyApplication
を初期化するNestFactory.create
.// src/main.ts
import { NestFactory } from '@nestjs/core';
import {
FastifyAdapter,
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create<NestFastifyApplication>(
AppModule,
new FastifyAdapter()
);
await app.listen(3000);
}
bootstrap();
我々はこれ以上の設定を必要としない、今Fastify設定され、使用する準備が整いました👏初ルート
プロジェクトを作るとき
@nestjs/cli
これは、例のルートを作成しますので、そのルートを使用して設定をテストします.次のチュートリアルでは、ルートがNESTJSでどのように動作するかを説明します.現在、我々はFastifyが働いているかどうか知りたいです.オープン
app.controller
ファイルを取得します/
使用するパスhttp://localhost:3000/
サーバの実行getHello
関数を返します.AppService
// src/app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
The AppService
という方法getHello
を返すHello World
// src/app.service.ts
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
}
それで、このルートのためにPostmanを使用して要求を送りましょうグッドニュース👏
ロガー
あなたが1つのリクエストを送るログを常に取得したいならば、あなたは中でこのオプションをセットすることができます
Fastify Adapter
// src/main.ts
async function bootstrap() {
const app = await NestFactory.create<NestFastifyApplication>(
AppModule,
new FastifyAdapter({ logger: true }),
);
await app.listen(3000);
}
bootstrap();
以下にこのオプションを使用する例を示します今度まで
それは、我々がこの記事でカバーするつもりです、我々はNESTJSについて理解して、我々のプロジェクトが成長する初期のセットアップをしました.次のシリーズでは、Prisma、Docker、PostgreSQLを使用してデータベースを構成します.
読んでくれてありがとう!
リポジトリをコンサルティングコードに従ってください
mnzsss / nest-auth-explained
🔒 認証を使用してJWTとGoogleを使用して認証.js説明
参考文献
Reference
この問題について(セットアッププロジェクトとFASTIFYプラットフォーム-パスポート), 我々は、より多くの情報をここで見つけました https://dev.to/mnzs/setup-project-and-fastify-platform-nestjs-with-passport-01-27jlテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol