[Node.js] figlet을 이용하여 아스키아트 사용하기
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"이라는 텍스트를 멋지게 아스키 아트로 변환하여 로고처럼 출력하는 방식은 프로젝트의 독창성과 재미를 더해줄 수 있는 좋은 방법이다.