#author("2023-03-10T00:28:43+00:00","default:admin","admin")
#author("2023-03-23T00:41:09+00:00","default:admin","admin")
[[NestJS:https://nestjs.com/]]
-[[docs:https://docs.nestjs.com/]]

-[[NestJS トレイルマップ:https://zenn.dev/optimisuke/articles/ee508749ae60a6]]
-[[実践 NestJS:https://www.slideshare.net/ssusercd7730/nestjs-253274492]]

-[[Nest.jsは素晴らしい:https://qiita.com/kmatae/items/5aacc8375f71105ce0e4]]
-[[NestJSのススメ ~Expressを超えてゆけ~:https://qiita.com/elipmoc101/items/9b1e6b3efa62f3c2a166]]
-[[Next.js + NestJS + GraphQLで変化に追従するフロントエンドへ 〜 ショッピングクーポンの事例紹介:https://techblog.yahoo.co.jp/entry/2020121530052952/]]

-[[NestJS を使って最速リリースを目指している話:https://tech.robotpayment.co.jp/entry/2022/06/10/165432]]

-[[All TypeScript で開発したLINEで動くリアルタイムクイズアプリの裏側:https://engineering.linecorp.com/ja/blog/all-typescript-uit-app/]]

-[[GraphQL スターターパック | Prisma + NestJS + Next.JS製 個人ブログサイトをCloud Runで運用しよう:https://zenn.dev/waddy/books/graphql-nestjs-nextjs-bootcamp]]

-[[NestJS × Reactで学ぶフルスタックGraphQLアプリケーション開発:https://www.udemy.com/course/nestjs-react-graphql/]]


*概要 [#d619a569]
-Typescript製のバックエンドフレームワーク
-デフォルトではExpressをコアとして動作
-Fastifyをコアとして動作させることもできる
-Node.jsで上で動く
-実装と疎結合になるようなアーキテクチャ
-nest cli で簡単にプロジェクトやソースファイルのテンプレートを生成できる
-Expressのミドルウェアをそのまま使える
-テストフレームワークが用意されている
-認証ライブラリはPassportなどが使える
-OpenAPIで出力しやすい
-GraphQLもサポート
-WebSocketももちろんOK
-class-validatorを使って楽々バリデーション
-TypeORMで型の恩恵を最大限に受けつつDB操作できる
-とにかく拡張性が高い

-フレームワークのエコシステムとしてDIの機構を用意している
-デコレーターやアノテーションによって関心の分離を行うことができる
-Interceptorや大域エラーハンドリングなどのデザインパターンをフレームワークの機能として提供している

*事例 [#a69afa2f]
-[[NestJS を使ってジョブメドレーアカデミーのバックエンド開発をどのように行なっているのか:https://developer.medley.jp/entry/2022/11/30/104006]]

*入門 [#vde73ff6]
-[[初心者向けNestJS(Typescript)バックエンド開発講座:https://zenn.dev/takaha4k/articles/e0e85100c161ad]]
-[[NestJSにざっくり入門してみる:https://zenn.dev/higuchimakoto/articles/21c8420c4a612a]]
-[[NestJSの始め方:https://qiita.com/tobita0000/items/6705800853b2869fec80]]

-NestJSのCLIをインストール
 $ npm i -g @nestjs/cli

-NestJSのプロジェクト作成
 $ nest new [プロジェクト名]
--パッケージマネージャとして npm を選択
 ? Which package manager would you ❤️  to use? npm

-開発モードで実行
 $ cd [プロジェクト名]
 $ npm run start:dev

-http://localhost:3000/ にアクセスし、Hello World! が表示されるのを確認

*monorepo [#m90484fb]
-[[【NestJS】NestJSでmonorepo機能を使ってみた:https://kakkoyakakko2.hatenablog.com/entry/nestjs-monorepo]]
-[[Turborepoを利用したmonorepo構成のNestJS+Prismaプロジェクトの構築:https://tech-blog.s-yoshiki.com/entry/296]]

**monorepoとは [#v9cac638]
-1つのリポジトリで複数のモジュールリポジトリを管理すること
-共通のモジュールを参照する複数のアプリケーションが存在する場合に管理が楽になる

**効果 [#l872135d]
-NestJSはアプリケーションが肥大化しがちです。この機能を使用することでアプリケーションを分割してリリース単位を分けて、アプリケーションを小さく出来るので、起動時の読み込み処理の改善につながります。

**関連ツール [#w89ef138]
***[[turborepo:https://turbo.build/]] [#f1a8fd3f]
-[[Turborepo でモノレポ構成のプロジェクトを爆速でビルドする:https://dev.classmethod.jp/articles/turborepo-superfast-monorepo-ci/]]
-[[モノレポのためのツールTurborepoを触ってみた:https://engineerblog.mynavi.jp/technology/monorepo/]]

*認証 [#hd2f0639]
-[[NestJSで作成したバックエンドAPIをAuth0で認証/認可:https://dev.classmethod.jp/articles/auth0-nestjs-backend-sample/]]

*AWS [#w23ac3e6]
-[[NestJS で作成したRESTfull APIをAWS Lambda + API Gatewayで構成する:https://note.com/shift_tech/n/ne5c3628ec6d1]]
-[[NestJSをLambda上に乗せたい話:https://zenn.dev/saitom_tech/articles/nestjs_on_lambda]]
-[[Deploy a NestJS API to AWS Lambda with Serverless Framework:https://dev.to/aws-builders/deploy-a-nestjs-api-to-aws-lambda-with-serverless-framework-4poo]]

*Azure [#pfda0e2a]
-[[Deploy NestJS Serverless Apps to Azure Functions:https://trilon.io/blog/deploy-nestjs-azure-functions]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS