본문 바로가기

나혼자공부시간(평일저녁,주말,휴일때)

NodeJS와 MariaDB 연동하고(express.JS 상에서 회원가입,로그인,회원탈퇴 구현)/Router뜻,역할

https://kamang-it.tistory.com/entry/NodeJSNodeJS%EC%99%80-MysqlMariaDB%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0-expressJS-%EC%83%81%EC%97%90%EC%84%9C-%EA%B0%84%EB%8B%A8%ED%95%9C-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%9A%8C%EC%9B%90%ED%83%88%ED%87%B4-%EA%B5%AC%ED%98%84

 

[NodeJS]NodeJS와 Mysql(MariaDB)연동하기 (express.JS 상에서 간단한 회원가입,로그인,회원탈퇴 구현)

참고:[MariaDB]설치하기 [MySQL]MySQL설치하기 [NodeJS]Window에서 설치하기 [NodeJS]nodejs프로젝트에 라이브러리 추가하기(npm) NodeJS상에서 DB와 연동하는일은 너무 자주 있어서 자주있다고 말하기도 민망하

kamang-it.tistory.com

https://reddb.tistory.com/143

NodeJS와 MariaDB 연동

 

[MariaDB] 마리아DB Node.js - 노드.js MariaDB 연계 (MySQL)

[MariaDB] 마리아DB Node.js - 노드.js MariaDB 연계 (MySQL) Node.js에서 마리아DB에 연결을 하기 위해서는 npm을 통해 mysql을 설치해야 합니다. npm install --save mysql --save 옵션을 주게 되면 pakage.json 파일에 depende

reddb.tistory.com

express.Router()란?

Express.js에서 라우팅을 모듈화하고 재사용할 수 있게 해주는 클래스

이를 사용하면, 각각의 라우터 파일을 작은 express 애플리케이션처럼 사용할 수 있다.

 어플리케이션의 라우트 핸들러를 모듈화하여 코드 구조를 깔끔하게 유지.

예를 들어, 특정 URL 패턴에 대한 요청을 처리하는 미들웨어 함수를 여러 개 작성해야 할 때, express.Router()로 이 함수들을 그룹화하여 코드의 가독성과 재사용성을 향상시킬 수 있음.

 

다음은 express.Router() 사용 예제

 

const express = require('express');
const router = express.Router();

// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
  console.log('Time: ', Date.now());
  next();
});

// define the home page route
router.get('/', function(req, res) {
  res.send('Birds home page');
});

// define the about route
router.get('/about', function(req, res) {
  res.send('About birds');
});

module.exports = router;

위 코드에서 router 객체는 별도의 미들웨어 함수와 경로를 가지며 이것은 메인 애플리케이션에 마운트될 수 있다.

 

라우터에 대한 개념은 밑에 링크 참고

https://inpa.tistory.com/entry/EXPRESS-%F0%9F%93%9A-%EB%9D%BC%EC%9A%B0%ED%84%B0-Router

 

[EXPRESS] 📚 라우터 (Router) 개념 정리

라우터 (Router) 익스프레스를 사용하는 이유 중 하나가 라우팅을 깔끔하게 관리할 수 있다는 점이다. 예를 들어, app.js에서 app.get 같은 메서드가 라우터 부분이다. 그러나 라우터를 많이 연결하면

inpa.tistory.com

 

 

 

express.JS 상에서 회원가입,로그인,회원탈퇴 구현

https://kamang-it.tistory.com/entry/NodeJSNodeJS%EC%99%80-MysqlMariaDB%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0-expressJS-%EC%83%81%EC%97%90%EC%84%9C-%EA%B0%84%EB%8B%A8%ED%95%9C-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%9A%8C%EC%9B%90%ED%83%88%ED%87%B4-%EA%B5%AC%ED%98%84

 

[NodeJS]NodeJS와 Mysql(MariaDB)연동하기 (express.JS 상에서 간단한 회원가입,로그인,회원탈퇴 구현)

참고:[MariaDB]설치하기 [MySQL]MySQL설치하기 [NodeJS]Window에서 설치하기 [NodeJS]nodejs프로젝트에 라이브러리 추가하기(npm) NodeJS상에서 DB와 연동하는일은 너무 자주 있어서 자주있다고 말하기도 민망하

kamang-it.tistory.com

 

 

//mysql-db.js
const mysql = require('mysql');
const connection = mysql.createConnection({
    host: ' localhost',
    post:3306,
    user:'root',
    password:'admin123',
    database:'mirrorCity_rhythm'
});

module.exports = connection;
<!--login.ejs-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
<h1>login</h1>
<form method="post">
    <label>id :</label><input type="text" name="userId"><br>
    <label>pw :</label><input type="password" name="userPw"><br>
    <input type="submit">
</form>
</body>
</html>
//show-all-data.js
//select문을 사용하고 넘어오는 파라미터의 테이터를 확인하도록 한다.
/*
err - 에러가 판단했는지 여부이다. 에러가 일어났다면 어떤 에러인지도 알 수 있다.
rows - 쿼리의 실행결과 가지고 온 데이터이다.
fields - 쿼리의 실행결과 가지고 온 데이터들의 필드정보이다.
*/

const express = require('express');
const router = express.Router();
const mysqlDB = require('./mysql-db');

router.get('/',function(req,res,next){
    mysqlDB.query('SELECT * FROM login', function(err, rows, fields) {
        if(!err){
            console.log(rows);
            console.log(fields);
            const result = 'rows : '=JSON.stringify(rows)+ '<br><br>' +
                'fields : ' +JSON.stringify(fields);
            res.send(result);
        }else{
            console.log('query error: ' +err);
            res.send(err);
        }
    });
});

module.exports = router;
//login.js
//select문과 where절을 사용하고 pre-statment를 사용하는 법을 보도록한다.
const express = require('express');
const router = express.Router();
const mysqlDB = require('../mysql-db');