NodeJS와 MariaDB 연동하고(express.JS 상에서 회원가입,로그인,회원탈퇴 구현)/Router뜻,역할
[NodeJS]NodeJS와 Mysql(MariaDB)연동하기 (express.JS 상에서 간단한 회원가입,로그인,회원탈퇴 구현)
참고:[MariaDB]설치하기 [MySQL]MySQL설치하기 [NodeJS]Window에서 설치하기 [NodeJS]nodejs프로젝트에 라이브러리 추가하기(npm) NodeJS상에서 DB와 연동하는일은 너무 자주 있어서 자주있다고 말하기도 민망하
kamang-it.tistory.com
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 상에서 회원가입,로그인,회원탈퇴 구현
[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');