NestJS公式ドキュメント翻訳
原文
Documentation | NestJS - A progressive Node.js web framework
イントロダクション
Nest(NestJS)は効率的でスケーラブルなNode.jsサーバサイドアプリケーションを構築するためのフレームワークです。プログレッシブJavaScriptを使用し、TypeScriptで構築され完全にサポートされます(開発者は純粋なJavaScriptでもコーディングできます)。OOP(オブジェクト指向プログラミング)、FP(関数型プログラミング)、およびFRP(関数型リアクティブプログラミング)の要素を組み合わせます。
Nestは内部でExpress(デフォルト)などの堅牢なHTTPサーバフレームワークを使用しており、オプションでFastifyを使用するように構成することもできます。
Nestはこれらの一般的なNode.jsフレームワーク(Express / Fastify)の上に抽象化レベルを提供しますが、そのAPIを開発者に直接公開します。これにより、開発者は基盤となるプラットフォームで利用可能な無数のサードパーティモジュールを自由に使用することができます。
思想
近年、Node.jsのおかげでJavaScriptはフロントエンドとバックエンドアプリケーションの両方にとってWebの「共通語」になっています。これにより、Angular、React、Vueのような素晴らしいプロジェクトが生まれ、開発者の生産性が向上し、高速でテスト可能で拡張可能なフロントエンドアプリケーションを作成できるようになりました。しかし、Node(およびサーバ側のJavaScript)には優れたライブラリ、ヘルパー、およびツールがたくさんありますが、いずれもアーキテクチャの問題を効果的に解決するものではありません。
Nestはすぐに使用可能なアプリケーションアーキテクチャを提供します。これにより、開発者やチームは高度にテスト可能で、スケーラブルかつ疎結合、そして保守が容易なアプリケーションを作成することができます。
インストール
開始するには、Nest CLIを使用してプロジェクトをスキャフォルドするか、スタータープロジェクトをクローンします(どちらも同じ結果になります)。
Nest CLIを使用してプロジェクトをスキャフォルドするには次のコマンドを実行します。これにより新しいプロジェクトディレクトリが作られ、ディレクトリに最初のNestファイルとサポートモジュールが追加され、プロジェクトの雛形が作成されます。初めてのユーザーには、Nest CLIを使用して新しいプロジェクトを作成することをお勧めします。最初のステップでこのアプローチを取ります。
$ npm i -g @nestjs/cli
$ nest new project-name
またはGitでTypeScriptスタータープロジェクトをインストールするには:
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start
ブラウザを開き、http://localhost:3000/
に移動します。
スタータープロジェクトのJavaScript版をインストールするには、上記のコマンドシーケンスでjavascript-starter.git
を使用します。
また、npm(またはyarn)を使用してコアとサポートファイルをインストールすることにより、新しいプロジェクトを手動で最初から作成することもできます。この場合はもちろん、プロジェクトの定型ファイルを自分で作成する必要があります。
$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata