[NestJS]NestJSの起動


今回は様々な種目に参加し、back-endにも興味を持ちました.中でもNestJSを使ってみました.NomadCodersから受講が始まります.
NomadCoders

✌🏻 NestJSは

- 다른 node.js의 프레임워크에 없는 구조를 가지고 있다.
- express위에서 움직인다.
- typescript기반이다.
- node.js 프로그램 빌드시 유용하게 사용된다.
- nestJs는 좋은 아키텍처와 구조를 가지고 있다. → Enterprise 프로젝트에 적합하다.

🛠 NestJSのインストール

npm i -g @nestjs/cli 
sudo npm i -g @nestjs/cli // 위 명령어 사용시, 권한 오류 발생한다면 다음 명령어로 설치하면 된다.

nest // 설치 확인

👉 プロジェクトの作成


目的の場所に移動してプロジェクトを作成します.私は講義に従ってDocumentsの下にプロジェクトを作成しました.nset newによってプロジェクトが生成されます.
nest new // 새로운 프로젝트 생성
そして、以下のように項目の名前を尋ねます.必要なプロジェクト名を設定し、パッケージマネージャを設定します.
// 아래와 같은 안내문 보여지면
? What name would you like to use for the new project? (app-name) hi-nest
? Which package manager would you ❤️  to use? npm
プロジェクトを作成すると、次の画面が表示されます.

ブタの取り付け完了画面



NestJS基本構造の表示

Nest.jsは、既存の機能を提供する.(たとえばdependency/testフォルダ/src/controller/serviceなど)これから基本的な基本構造を開きます.

🔥 main.ts(起動を担当する部分)

NestJSは、実質的にmain.tsを有する.名前を変えないで、使います.
// 아래와 같이 함수를 가지고 있음(함수이름은 자유롭게 설정 가능), 3000포트를 리슨하고 있다.
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

🔥 AppModule.ts


すべてのもののルートモジュール
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

🔥 AppController

urlをインポートし、関数を実行します.
(expressのrouterのような存在/ルータ設定は不要です.)
下図に示すように、@GETデコレーションを使用する場合は、デコレーション関数またはクラスとともに使用する必要があります.
@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}

🔥 AppService


ビジネスロジック処理
import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello World!';
  }
}

🙏🏻 の最後の部分


これを机にback-endを勉强してみたいと思います.最終的には、サービスを作成して導入したいと思います.これからはゆっくり整理します!