본문 바로가기
Nodejs

[nodejs]간단한 계산기 예제

by teamnova 2023. 8. 28.

안녕하세요 이번시간에는 nodejs를 사용해서 간단하게 계산기를 만들어보겠습니다.

Node.js를 활용하면 JavaScript 언어로 서버 측 애플리케이션을 개발할 수 있어, 웹 브라우저에서 동작하는 계산기를 만들 수 있습니다.

포스팅에서는 Node.js와 함께 Express 프레임워크를 사용하여 계산기를 만들 예정입니다.

Express는 Node.js를 위한 빠르고 간결한 웹 애플리케이션 프레임워크로, 간단한 설정만으로도 웹 서버를 구축할 수 있습니다.

계산기 예제는 사용자로부터 입력을 받아 사칙연산을 수행하고 결과를 반환하는 기능을 갖춘 웹 페이지로 구성됩니다.

 

전체 코드는 다음과 같습니다.

 

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>계산기</title>
  </head>
  <body>
    <h1>간단한 계산기</h1>
    <form action="/calculate" method="post">
      <input type="number" name="num1" placeholder="숫자 1" required />
      <select name="operator" required>
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
      </select>
      <input type="number" name="num2" placeholder="숫자 2" required />
      <button type="submit">계산</button>
    </form>
    <div id="result"></div>
  </body>
</html>

index.js

// 필요한 모듈 가져오기
const express = require('express');

// Express 애플리케이션 생성
const app = express();
const port = 3000;

// POST 요청 처리를 위한 미들웨어 설정
app.use(express.urlencoded({ extended: true }));

// 계산기 페이지 라우팅
app.get('/', (req, res) => {
    res.sendFile(__dirname + '/index.html');
});

// 계산 요청 처리
app.post('/calculate', (req, res) => {
    const num1 = parseFloat(req.body.num1);
    const num2 = parseFloat(req.body.num2);
    const operator = req.body.operator;

    // 결과 계산
    const result = calculate(num1, num2, operator);

    // 결과 반환
    res.send(`결과: ${result}`);
});

// 서버 시작
app.listen(port, () => {
    console.log(`서버가 http://localhost:${port} 에서 실행 중입니다.`);
});


// 계산 함수
function calculate(num1, num2, operator) {
    switch (operator) {
        case '+':
            return num1 + num2;
        case '-':
            return num1 - num2;
        case '*':
            return num1 * num2;
        case '/':
            return num1 / num2;
        default:
            return "유효하지 않은 연산자입니다.";
    }
}