본문 바로가기

Computer Science

Node.js readline 모듈이란?

반응형

1. readline 모듈이란?

readline 모듈은 Node.js에서 제공하는 기본 모듈로, 터미널에서 입력과 출력을 처리할 수 있도록 도와줍니다. 주로 CLI(Command Line Interface) 프로그램에서 사용자로부터 입력을 받고, 이를 처리하거나 결과를 출력하는 데 사용됩니다.

주요 기능

  • 콘솔 입력 처리: 사용자로부터 실시간으로 입력을 받을 수 있음.
  • 입력된 데이터 처리: 줄 단위로 입력을 받아, 각 입력마다 이벤트를 발생시켜 특정 작업을 수행.
  • 질문 및 응답: 사용자의 입력을 기다렸다가, 입력된 값에 따라 동작을 처리하는 기능.

 

2. readline 사용 방법

Node.js에서 readline을 사용하려면 먼저 모듈을 불러와야 합니다. 아래는 간단한 예제입니다.

 
const readline = require('readline'); 

// readline 인터페이스 생성 
const rl = readline.createInterface({ 
	input: process.stdin, 
	output: process.stdout 
}); 

// 질문을 던지고 사용자의 입력을 받음 
rl.question('What is your name? ', (answer) => {
	console.log(`Hello, ${answer}!`); 
    
	// 인터페이스 닫기 
	rl.close(); 
});

 

위 예제는 readline 모듈을 통해 터미널에서 사용자에게 질문을 던지고, 사용자가 응답하면 그 값을 출력하는 간단한 프로그램입니다. 입력이 완료되면 rl.close()로 인터페이스를 종료해야 합니다.

 

 


3. React에서 readline을 사용하지 않는 이유

React는 브라우저 기반의 클라이언트 사이드 라이브러리로, 주로 웹 애플리케이션을 개발하는 데 사용됩니다. 브라우저 환경에서 사용자 입력을 처리하기 위해서는 HTML 폼 요소와 이벤트 핸들러를 사용합니다.

  • readline은 Node.js와 같은 서버 또는 터미널 환경에서만 동작하며, 웹 브라우저와는 호환되지 않습니다.
  • React에서 사용자 입력을 받는 방식은 HTML 폼 요소(예: <input>, <textarea> 등)를 활용하며, 사용자와 상호작용을 처리할 때는 이벤트 핸들러를 사용합니다.

React에서의 사용자 입력 처리 예시는 다음과 같습니다.

import React, { useState } from 'react';

function App() {
  const [name, setName] = useState('');

  const handleInputChange = (event) => {
    setName(event.target.value);
  };

  const handleSubmit = (event) => {
    event.preventDefault();
    alert(`Hello, ${name}!`);
  };

  return (
    <div>
      <form onSubmit={handleSubmit}>
        <label>
          Name:
          <input type="text" value={name} onChange={handleInputChange} />
        </label>
        <button type="submit">Submit</button>
      </form>
    </div>
  );
}

export default App;
 

4. readline vs React의 입력 처리 방식

  • readline: Node.js 환경에서 터미널을 통해 사용자의 입력을 받아 처리하는 데 사용.
  • React: 웹 브라우저를 통해 사용자 입력을 폼 요소와 이벤트 핸들러를 사용하여 처리.

readline은 서버나 터미널 기반 프로그램에서 유용하지만, React 같은 클라이언트 사이드 애플리케이션에서는 필요하지 않습니다.

 
반응형