かなりクールなNest JS
この記事で紹介する友人はNest JSです.
システムバックエンドの開発に関する専門知識がなく、
Express.jsで開発されたので、基本的な仕組みが備わっておらず、難解にコードを書き、多くの試行錯誤を経験したので、NestJSに触れたとき、とても感動しました.
以上、NestJS公式サイトでの紹介記事です.以上のようにNestJSはTypeScriptを積極的に使用しています.最近JavaScriptで作成されたプロジェクトの大部分がTypeScriptに移行していることから,NestJSは開発者の興味を正確に把握している.
Next JS CLIを使用してプロジェクトを開始し、フォルダ構造を表示します.
次の内容が含まれます.AngularでFrontendを開発した人は、
デフォルトでは、
各アプリケーションには少なくとも1つのモジュールがあり、最も中心的なルートモジュールは最新のアプリケーションの開始点です.もちろん、最小のアプリケーションは理論的にroot moduleとして実行できますが、これは一般的な状況ではありません.アプリケーションをより柔軟にするには、これらのモジュールを効率的に管理する必要があります.上記の目的に従ってモジュールを分離し、構造化する.
例を見てみましょうか.
システムバックエンドの開発に関する専門知識がなく、
Express.jsで開発されたので、基本的な仕組みが備わっておらず、難解にコードを書き、多くの試行錯誤を経験したので、NestJSに触れたとき、とても感動しました.
紹介する
私はTSが好きです。
以上、NestJS公式サイトでの紹介記事です.以上のようにNestJSはTypeScriptを積極的に使用しています.最近JavaScriptで作成されたプロジェクトの大部分がTypeScriptに移行していることから,NestJSは開発者の興味を正確に把握している.
どこかで会ったことがあるようです。(feat. Angular)
Next JS CLIを使用してプロジェクトを開始し、フォルダ構造を表示します.
次の内容が含まれます.AngularでFrontendを開発した人は、
module
、service
などの構造をよく知っているはずです.controller
から、各ロールを1つずつ理解しましょう.Controller
デフォルトでは、
controller
は、クライアントからのhttpリクエストの応答を処理する責任を負う.特定のリクエストが送信されると、ルーティングメカニズムは、どのコントローラがどのリクエストを受信するかを決定します.デフォルトでは、controller
を使用してdecorator
が作成されます.Decorator
は、クラスを所望のメタデータに関連付けることができる.import { Controller, Get } from '@nestjs/common';
@Controller('cats')
export class CatsController {
@Get()
findAll(): string {
return 'This action returns all cats';
}
}
以上のようにCatというEntityとそれに関連するActionが存在すると仮定する.例は1つしかありませんが、@Get()
で宣言すると、GET Requestは/cats
に入るとfindAll()
という関数を実行します.Module
各アプリケーションには少なくとも1つのモジュールがあり、最も中心的なルートモジュールは最新のアプリケーションの開始点です.もちろん、最小のアプリケーションは理論的にroot moduleとして実行できますが、これは一般的な状況ではありません.アプリケーションをより柔軟にするには、これらのモジュールを効率的に管理する必要があります.上記の目的に従ってモジュールを分離し、構造化する.
Service
Service
は、データストアと直接通信することができる.デフォルトでは、上記のController
で起動して作成されると、デフォルトでは@Injectable()
コメントが上部に書き込まれます.例を見てみましょうか.
@Injectable()
export class CatsService {
private readonly cats: Cat[] = [];
create(cat: Cat){
this.cats.push(cat);
}
findAll(): Cat[]{
return this.cats;
}
}
サービスには2つの機能があります.create()
, findAll()
createは、データベースからcat objectを直接受信して保存する関数であり、findAllはすべてのcatを検索するために使用されます.新しい機能は@Injectable()
データレコーダを使用することです.Reference
この問題について(かなりクールなNest JS), 我々は、より多くの情報をここで見つけました https://velog.io/@sapphire317/꽤나-멋진-Nest-JSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol