데코레이터란?
- 데코레이터는 클래스, 메서드, 접근자, 프로퍼티 또는 매개변수에 대한 주석을 추가하고 이를 수정할 수 있는 특별한 타입스크립트 기능입니다.
- 데코레이터는 주로 클래스 기반의 프레임워크에서 사용됩니다. 예를 들어, Nest.js에서 데코레이터는 다양한 기능을 제공하는 데 사용됩니다.
데코레이터 사용 예시
- @Controller 데코레이터를 사용하여 클래스를 컨트롤러로 지정합니다.
function Controller(target: any) {
// 데코레이터 함수로, 대상 클래스에 추가적인 동작을 정의할 수 있습니다.
}
@Controller
class CatsController {
// 이 클래스는 이제 컨트롤러로 동작합니다.
}
위 예제에서 @Controller 데코레이터는 CatsController 클래스에 적용되어 해당 클래스를 컨트롤러로 설정합니다. 데코레이터 함수는 target 인자를 통해 데코레이터가 적용된 클래스를 받습니다.
tsconfig.json 설정
- 데코레이터를 사용하려면 tsconfig.json 파일에서 experimentalDecorators 옵션을 true로 설정해야 합니다.
{
"compilerOptions": {
"target": "ES6",
"experimentalDecorators": true // 데코레이터 사용을 활성화
}
}
Node.js와 TypeScript 실행
- Node.js는 자바스크립트를 실행하는 런타임 환경입니다. 타입스크립트를 직접 실행하지 않으므로 ts-node 패키지를 사용해야 합니다.
- ts-node는 타입스크립트를 컴파일하지 않고 바로 실행할 수 있게 해주는 도구입니다.
ts-node 설치 및 실행
- ts-node 설치
npm install -g ts-node typescript
2. 타입스크립트 파일 실행
ts-node index.ts
package.json 스크립트 설정
- ts-node를 사용하여 타입스크립트 파일을 실행하는 명령어를 package.json 파일의 scripts 섹션에 추가할 수 있습니다.
{
"scripts": {
"start:dev": "ts-node index.ts"
}
}
위 설정을 통해 npm run start:dev 명령어로 타입스크립트 파일을 실행할 수 있습니다.
요약
- 데코레이터: 클래스, 메서드, 접근자, 프로퍼티 또는 매개변수에 대한 주석을 추가하고 수정할 수 있는 특별한 기능입니다. 주로 프레임워크에서 사용됩니다.
- 설정: 데코레이터를 사용하려면 tsconfig.json 파일에서 experimentalDecorators 옵션을 true로 설정해야 합니다.
- 타입스크립트 실행: Node.js는 자바스크립트를 실행하는 런타임이므로 타입스크립트를 실행하려면 ts-node 패키지를 사용해야 합니다. ts-node를 설치하고 ts-node index.ts 명령어로 타입스크립트 파일을 실행할 수 있습니다.
- 스크립트 설정: package.json 파일의 scripts 섹션에 실행 명령어를 추가하여 npm run start:dev와 같은 명령어로 타입스크립트 파일을 실행할 수 있습니다.
'nest.js' 카테고리의 다른 글
Nest.js 설치 및 기초 (2024.05.29) (0) | 2024.05.29 |
---|---|
nest.js 접근제어자 (2024.05.29) (0) | 2024.05.29 |
Typescript 란? (2024.05.29) (0) | 2024.05.29 |
MVC,DOC/IoC (2024.05.28) (0) | 2024.05.28 |
node.js(상속, 전략패턴)(2024.05.20) (0) | 2024.05.20 |