[Node.js] figlet을 이용하여 아스키아트 사용하기
![[Node.js] figlet을 이용하여 아스키아트 사용하기](/content/images/size/w1920/2024/12/nodejspng.png)
1. figlet
이란 무엇인가?
figlet은 텍스트를 다양한 스타일의 **아스키 아트(ASCII Art)**로 변환해주는 라이브러리이다. 이를 통해 애플리케이션에서 간단한 텍스트를 좀 더 시각적으로 매력적으로 표현할 수 있다. 예를 들어, 서버 시작 시 콘솔에 멋진 로고를 출력하거나 중요 메시지를 강조하는 데 사용할 수 있다.
2. figlet
설치하기
먼저, 프로젝트에 figlet
을 설치해야 한다. 터미널에서 다음과 같은 명령어로 설치한다.
npm install figlet
3. figlet
의 사용법: 코드 예제
app.js
에서의 figlet
사용 예제를 바탕으로, figlet
을 어떻게 활용하는지 설명하겠다.
코드 예제
import express from "express";
import dotenv from "dotenv";
import figlet from "figlet";
import { logger } from "#util/logger.js";
import { config } from "#config/config.js";
const app = express();
// 환경 변수 설정
dotenv.config();
// 서버 시작
app.listen(config.host.port, () => {
// figlet을 사용해 텍스트를 아스키 아트로 변환
figlet("NYAONGLAB", (err, data) => {
if (err) {
logger.error(`Something went wrong with figlet.. , ${err}`);
return;
}
// 변환된 아스키 아트와 함께 서버 시작 메시지 로그
logger.info(`
${data}
Server is running on port ${config.host.port}`);
});
});
위 코드에서 figlet
의 역할과 사용법에 대해 자세히 설명해보겠다.
3.1. figlet
사용 과정
import figlet from "figlet"
:figlet
모듈을import
하여 사용할 준비를 한다.
figlet("NYAONGLAB", (err, data) => { ... })
:figlet
함수에 변환할 텍스트"NYAONGLAB"
을 전달하고, 콜백 함수 형태로 결과를 처리한다.- 첫 번째 인자로는 변환할 텍스트를, 두 번째 인자로는 콜백 함수를 받는다.
err
: 변환 중 오류가 발생했을 때의 에러 객체.data
: 변환된 아스키 아트 문자열.
- 에러 처리:
- 변환 도중 오류가 발생할 경우, 콜백 함수 내에서 에러를 확인하고 적절하게 처리한다.
- 코드에서 에러가 발생하면
logger.error()
로 오류 메시지를 기록하고 있다. - 만약 에러가 없다면, 변환된 아스키 아트를 콘솔에 출력한다.
- 서버 시작 메시지 출력:
- 변환된 아스키 아트가 정상적으로 만들어지면, 서버 시작 메시지와 함께 출력한다.
logger.info()
를 사용해 콘솔에 아스키 아트와 서버 포트 정보를 기록하고 있다.
3.2. 콜백 함수 사용 이유
figlet
은 텍스트 변환을 비동기적으로 처리하기 때문에 콜백 함수를 통해 변환 결과를 받아야 한다. 이 방식은 변환이 완료된 후에 아스키 아트를 출력하거나 추가 작업을 할 수 있도록 해준다.
4. figlet
사용의 다양한 옵션
figlet
은 다양한 옵션을 제공하여 출력 스타일을 커스터마이징할 수 있다. 다음과 같이 설정을 추가하여 아스키 아트의 폰트나 너비 등을 지정할 수 있다.
예시: 폰트 설정
figlet.text("NYAONGLAB", { font: "Ghost", horizontalLayout: "default", verticalLayout: "default" }, (err, data) => {
if (err) {
logger.error(`Something went wrong with figlet.. , ${err}`);
return;
}
logger.info(`
${data}
Server is running on port ${config.host.port}`);
});
font
: 텍스트를 변환할 때 사용할 폰트를 지정한다.figlet
에는 다양한 폰트가 있으며,"Ghost"
,"Standard"
,"Slant"
등이 있다.horizontalLayout
&verticalLayout
: 텍스트의 레이아웃을 지정할 수 있는 옵션이다.
폰트와 레이아웃을 통해 더 멋진 디자인으로 텍스트를 표현할 수 있다.
5. 마무리

figlet
은 간단하지만 애플리케이션에 멋진 시각적 요소를 추가할 수 있는 유용한 도구이다. 서버가 시작할 때마다 콘솔에 로고나 중요한 메시지를 아스키 아트로 출력하면, 개발자나 운영자가 애플리케이션의 상태를 직관적으로 확인할 수 있다.
네가 작성한 코드에서처럼, 서버가 시작될 때 "NYAONGLAB"
이라는 텍스트를 멋지게 아스키 아트로 변환하여 로고처럼 출력하는 방식은 프로젝트의 독창성과 재미를 더해줄 수 있는 좋은 방법이다.
댓글